#23 converted most components to AMD modules

Game aspects are now loaded with require.js
#23 moved the jsApp object into its own class, game
fixing lint issues
able to load the game as a test with karma

unsure how worth while it would be to continue making tests
#22 trying to work out screen tests
#24 #25 clay.io signing and leaderboard

Users are now required to sign-in with a clay.io account. At the end of
the level, the users score is recorded to a leaderboard (named
highscore in our case)
#25 leader board now only reported to once
#27 fixing incorporation issues
Merge pull request #27 from otternq/dev-issue-22

#22 #23 Incorporate conversion to require.js dependency manager
removing alert
#30 enemy fire now harms the player.

projectile entities should now only recognize collisions with specific
objects.
http://melonjs.github.io/docs/symbols/me.ObjectEntity.html#collideType
#30 enemies no longer harming eachother. Enemies death now increases score
re-adding the life indicator
#31 created a Game Failed screen, but when included the game just goes to the game over screen
Mission briefings are now working

Mission briefings now appear before every level.  Map names, and their
briefing text are defined in Game.js using the gamestat field of the
Game object.

Breifing screens now clear the viewport to a background color to remove
what was previously on the screen before drawing text.

Text is now correctly centered in breifing screens
Implemented debriefing screens and fixed HUD overlap

I added a debriefing screen and modified the control flow so it goes
briefing, map, debriefing, then increments the level index, then
repeats.

After a level is over, the current HUD is disabled so that it does not
appear during the briefings.
Added persistent score tracking via me.gamestat

#33
updating log for game failed
#31 When a player dies, the level failed screen is now loaded
#35 adding asteroid sprite, creating map3 with Tiled Map Editor and placing asteroids manually