no need to copy an ItemStorage here, this is probably optimized out by gcc/mingw but in MSVC this crashes the program when compiled: as it is the temporary ItemStorage is destructed without having its init() called first
Merge pull request #435 from josephbleau/bugfix

no need to copy an ItemStorage here
Fix crash from holding down MAIN1 while loading a map
Merge pull request #436 from dorkster/bugfixes

Fix crash from holding down MAIN1 while loading a map
added basic keyboard controls to gamestateload, uses mapped keys for movement/accept/cancel
Added TabList class which can be utilized anywhere to maintain appropriate keyboard control over widgets.
Title Screen now supports keyboard input.

Conflicts:
	src/GameStateTitle.cpp
Pressing cancel key-binding now exits game at Title Screen

Conflicts:
	src/GameStateTitle.cpp
Adds a logic() member that can be called for TabList to simplify usage, it should be called within the stats logic() member.
Refactor logic into TabList
Add very basic keyboard functionality to character creation screen, more to come.
WidgetButton now appropriately interacts with TabList
Title screen now respects cancel keys lock so key-repeat doesnt make the game exit on you when you hit cancel in another screen

Conflicts:
	src/GameStateTitle.cpp
Provide a way for Widgets to handle iteration of inner-items in a standard manner.
Handle pressing cancel (returns to GameStateLoad) and updated TabList order to include class_list
Fixed minor logic mistake in TabList that caused inner-list methods not to be called correctly
WidgetListBox now interacts with TabList appropriately
Added left/right key support to remain consistent with the rest of the keyboard menu controls.
Added a TabList to MenuExit
Merge branch 'keyboard_input' of http://github.com/josephbleau/flare-engine into keyboard_input