Started menu, added tweens.

Tweens are created via the MotionSpline class. It's quite bare-bones, so
you have to do all the tween handling manually.

Placeholder art on the menus, obviously.
Heavy refactoring, plus some functionality change

Just more menu stuff, the button class is quite cool, my first use of
std::function, so that's nice.
Main Menu Xbox integration

Elegant (I think) way of navigating through the menu buttons using the
xbox controller implemented.
Main Menu changed to generic Menu System

Easy to use menu system can now be used anywhere. Still would be nice to
change the MenuButtons to a better design, only supports toggleble/non
toggleable buttons for now(and static images, but it dosent feel right
as they're just buttons with the same selected/non selected image and no
logic)
Merge branch 'refs/heads/Menu'