Updated map data

First attempt at a playable level. Creating somewhat large chunks of
nine or twelve rows and leaving either the left or right side open
seems to work pretty good.
Updated world physics

Tweaked the world physics to have slower falling blocks that generate
faster. That way they take a while to hit the world, so you’ll see
falling blocks all over the screen instead of just the top rows.
Added global block types

Made the block type data global. This way it’s easier to check what
block type was used in the map data.
Updated collision detection

Fixed a bug in corrections for snapping into wall gaps, which didn’t
take the world offset into account.
Revert "Updated collision detection"

This reverts commit 7e73d11be0bd61d8fb290ce26210fd90e248bf3d.
Updated grass

Added grass sprite and hacked it into the world. Code needs some
cleaning. :-)
Updated collision detection

Fixed a bug in the collision detection where the world offset wasn’t
taken into account when snapping into wall gaps.
Updated map data

Fixed a small visual error in the map data.
Updated world rendering

Removed imageData wizardry. The world is now reading map data from the
collision map, which now stores block data instead of booleans.
Cleaned up PSD

Cleaned up the grass layer.
Updated resource loader

Hopefully fixed a bug that sometimes caused sound resources to not load
fully. The ready state for sounds is now set after storing the buffer
via AudioContext.
Cleaned up world, blocks and grass

Refactored the world, block and grass objects. Code is more performant
and more readable.