moved sound queue, event checking into backend.py
moved backend imports into main module
removed unused dependencies
moved font loading into backend_pygame; reorganised init_screen_mode to reduce dependency on globals
removed backend.pygame dependency on console_state for mode information, palette
fixed resume errors
fixed width not changing issues appearing after reorganisation
removed backend_pygame dependence on state for cursor shape information
removed backend_pygame dependency on state for cursor position
removed backend_pygame dependency on state for vpage, apage
removed backend_pygame dependency on state for scroll height
backend_pygame: removed some state dependency for attr, excpet where the code is due to move to backend.py
removed backend_pygame dependency on state for initial setup
removed backen_pygame dependence on state for composite artifacts
removed backend_pygame dependence on state for fixed-color tandy cursor
fixed missing set_page in backends, removed direct screen_changed call from console
moved keyboard buffer into backend.py
can not initialise redirect.py as normal since circular import has been resolved
moved echo handling to backend.py; removed oslayer dependency from redirect.py
moved more keyboard queue handling to backend.py