ENH: Improve Python autocomplete list ordering
ENH: Improve Python autocomplete list ordering

Before this change, a strict alphabetical sorting was used, which means that order of attributes was:
- uppercase letters: constants + internal classes + VTK methods
- underscore: private attributes
- lowercase letters: Python and Qt attributes and methods

For example attributes of a Qt class:

```
AllowNestedDocks
AllowTabbedDocks
AnimatedDocks
DockOption()
...
PdmPhysicalDpiY
PdmWidth
PdmWidthMM
RenderFlag()
RenderFlags()
VerticalTabs
__bool__()
__class__()
__delattr__()
__dict__
__dir__()
__doc__
__eq__()
__format__()
...
__setattr__()
__sizeof__()
__str__()
__subclasshook__()
__weakref__
acceptDrops
accessibleDescription
accessibleName
actionEvent()
addToolBar()
...
windowRole()
windowState()
windowTitle
windowTitleChanged()
windowType()
x
y
```

This means that the user must scroll through a lot of irrelevant parts before gets to method names.

After this change, attributes are grouped into the following categories and displayed in this order:
- Python and Qt attributes and methods (starts with lowercase letter)
- VTK methods + static classes and types (starts with uppercase letter, ends with parenthesis)
- constants (starts with uppercase letter, does not end with parenthesis)
- private attributes (starts with underscore)

Case insensitive comparison is used within each group.

Example:

```
acceptDrops
accessibleDescription
accessibleName
actionEvent()
actions()
activateWindow()
addAction()
...
windowType()
winId()
x
y
DockOption()
DockOptions()
PaintDeviceMetric()
RenderFlag()
RenderFlags()
AllowNestedDocks
AllowTabbedDocks
AnimatedDocks
DrawChildren
...
PdmWidthMM
VerticalTabs
__bool__()
__class__()
__delattr__()
...
__str__()
__subclasshook__()
__weakref__
```

commontk/CTK,commontk/CTK,commontk/CTK,commontk/CTK