Added numerous abstract classes.

They may or may not be crap. I don't know if they'll even be necessary.
No I hate it.
Always forget that damn virtual destructor.
Added a manager for game settings, etc.