make sdl gui usable

- implement savestates
- fix a ton of bugs and memleaks and cursor
- implement fullscreen toggling
- implement reset
- implement prefs for mem, floppy speed, sound
- reduce cpu load while in menu by 98%