Change the test player bullet to ‘large-01.png’ for debugging
Define <scale> as a child node of <bullet> tags

This will allow us to scale the larger (or smaller) bullet art assets
that we use in the game.
Add the ‘scale’ property to Bullet objects

This will correspond to the <scale> tag.
Teach Bullet:draw() to observe the Bullet.scale property

It only applies when we are drawing bullets which are images since the
others use primitive drawing routines.
Improve the documentation for <scale>

Mention the fact that it only affects anything when the bullet is has
the ‘image’ shape.
Add a scale to the test player shot and make it faster

This will be useful for debugging enemy and boss fights.
Align the elements in the definition of <action>

This patch makes no logic changes.
Define a <playSound> element in the BulletMLX DTD

We will use this for controlling when sounds play during patterns.
Implement support for the <playSound> node in the bullet engine

This patch introduces the ‘play-sound’ instruction and uses the
TEsound library to play that sound whenever we encounter the
instruction in the pattern.
Add <playSound> to the player shot definition

We need this because the last patch removed the original sound effect
from the Bee code.
Make bullets black by default

This will make them stand out against the default white background.
Update the pattern time when calling update() or updateBullets()

One problem with the current system is that only Pattern:update()
increases the interal timer inside Pattern objects.  This timer needs
to continuously update so we can handle <wait> statuses correctly.
But other parts of the game only call Pattern:update() when they are
firing; in reality the timer should always update.

But we *do* call updateBullets() all the time, even when we are not
calling update().  So this patch changes the __index() metamethod of
the Pattern class to update the timer each time we call either
method.  This prevents us from having to write a separate method to
call on our own.

There is a debugging print() call in the code which, interestingly,
shows the pattern timer being reset.  So that is something to
investigate.  This patch does not fix the problem of player bullets
not firing quickly enough.
Add metamethods to the TAGS file generated by the Makefile
Merge branch 'kabe/level-prototype'

* kabe/level-prototype:
  Draw player 1 health over the left sidebar instead of over the level
  Draw enemies and enemy bullets over the players so they're easier to see.
  Draw the timer on top of the sidebar.
  Fix slowdown issue caused by bullets not being cleaned up for long enemy encounters (like bosses or minibosses)
  Better center the bee sprite (still not perfect)
  Fix nil value error
  Stop running dead coroutines, and also monitor coroutine execution status
  Draw sidebars on the side of the screen to cover the offscreen area.
  Use vector math to scale the aim target beyond the screen edges. Fixes a hang bug.
  Remove unneeded offset debug output
  Enemies no longer shoot when offscreen
Merge branch 'ejmr/improve-test-bullets'

* ejmr/improve-test-bullets:
  Add metamethods to the TAGS file generated by the Makefile
  Update the pattern time when calling update() or updateBullets()
  Make bullets black by default
  Add <playSound> to the player shot definition
  Implement support for the <playSound> node in the bullet engine
  Define a <playSound> element in the BulletMLX DTD
  Align the elements in the definition of <action>
  Add a scale to the test player shot and make it faster
  Improve the documentation for <scale>
  Teach Bullet:draw() to observe the Bullet.scale property
  Add the ‘scale’ property to Bullet objects
  Define <scale> as a child node of <bullet> tags
  Change the test player bullet to ‘large-01.png’ for debugging
Shrink player ship sizes a bit more