Possible fix for sliding stickiness

Now instead of checking a range of tiles to determine if Rock is in a
tunnel only the two corners of the bounding box are checked.
Added object registry to enable retrieval by ID
Storing pointer to texture rather than copy

I don't know why this was done this way to begin with but now textures
are stored by pointer rather than by value. Also updated were places
where images were being loaded multiple times. Not all places were
updated but some.
Commenting out some debug code
Interface for spawning objects
Added register method to ItemFactory

Not its possible to register prototype objects with the ItemFactory to
create new items.
Fixed copy constructing CollectableItem

Was calling the wrong super constructor
Ghetto test for item factory

Added parsing of an item template and tested the creation of an item in
the MapTestState. This client needs to be re-written so it doesn't suck
so bad.
Merge pull request #44 from zackthehuman/master

Moving toward spawning objects, starting with Items