Includes multiple addititons for Enemy updates

These changes were made when I didn't have access
to .git, so I remade the changes here.  Add
offScreenLeft to grid, add random int function,
add wait time for enemy, add off screen detection
and reset for enemy.  Add more than 1 enemy to
allEnemies.
Added bare logic to draw include and draw Player
Add beginning of logic to move player around

Needs lots of honing for how far to move the
player for each input.
Move grids information into Enemy class

Unfortunately it turns out the enemy and player
sprites don't render in exactly the same relative
space, so the grid information doesn't apply in
a general sense as I had hoped it would.
Re-generalized grid location info

Contrary to my previous commit, it turns out
I was correct to assume sprite locations would
be the same for bugs and characters, I had just
completely flipped height and width when working
with the Enemy class, so when I made the calls
to what should be correct for Player, I was getting
the wrong pixel info back.
Disallow Player to move off the screen
Add more comments to app.js
Change player input listener to keydown

Seems like a much more responsive and intuitive
event for the input than keyup.
Add collision and water row checking

Player resets if hit by an enemy or if they
go into the water row.