screen handling changes

client screen changes can now be forced to top of stack when changing
screen changes and priorities

when changing screens with oschandler.changeclientscreen you can now specify a "topmost" flag. When set to true the screen will push to the top of the stack (either by being created or by raising an existing screen) and display at the client.
Other screen changes during this time are inserted below the topmost items, so when the screen is reverted the changed items display