move cursor shape routines into Cursor
Move cursor width into Cursor; screen.view fixes
add get_view_mid() method to Screen
move set_default_cursor() -> Cursor.set_default_shape()
reorder echos/redirection in backend.py
create Pen and Stick classes for light pen and joystick
Move palette management into Palette class
move cga4 palette handling into Screen
pylint fixes
use backend.sound_done in audio_beep, audio_none
remove state.console_state.pixel_aspect ratio; simplify graphics viewport init in screen()
move last_point into Screen
fix incorrect Screen.get_view_mid()
remove require_graphics_mode()
reset_graphics should also reset last_attr
move last_attr into Drawing
move draw_scale, draw_angle into Drawing
move last_point into Drawing
move WINDOW handling into Drawing
move line and box drawing into Drawing