added some config stuff, expanded the menu

Theres an ABC MenuElement that all elements in the menu should derive
from.  Menus can now hold different elements as long as they support a
`draw()` method and have a `selectable` attribute A label, for instance,
is not selectable, and will be skipped over when scrolling through the
menu.
add save slots

The code is still disasterously disorganized right now.  However, I've
added SubMenus to allow for saving from/loading to states on startup
and exit.  This uses the new command line args I've added to fceux