introduce SceneNode.order() to control render order

Transparent objects (e.g. text, or semi-transparent molecules)
need to be rendered after the opaque parts. This commits introduces
the SceneNode.order() method to control the order in which
objects are rendered. The larger the value, the later the object
will rendered. Upon calling viewer.add, the object list is sorted by
SceneNode.order() in ascending order.