Grid system

This adds a 'grid' component which keeps track of objects on a specific scenario's grid (including inventoriables), as well as the boundary values for each space, albeit in separate arrays. So, any moving objects don't have to run through a list of inventoriables to find a collision, they only have to check the one space from the grid. 

Each scenario would have its own grid to define boundary values and where certain objects are located (the objects are currently added to the scenario's grid in `scene.js`).

Does this look like it would work well with the scenario system? @eric79 @BrettASwift 
I think that's better than having it pick up the "first" one. Ideally, we would trigger a menu or something that would allow you to choose what to pick up. For now we can have it pick up everything and just say that we shouldn't put multiple inventoriables on one tile.