Abstract interface is just an interface.
Add drag + color + velocity to bullets.

The bullets now have a drag force applied to them.  The drag is computed
such as if they were super heavy and flat pieces of metal travelling
through water.  Thus, they slow down in just a few centimeters (pixels
        in our case).

The color starts full-hot red and cools down to black as the bullet
exhausts.  The color is a function of `timeToLive/MAX_TIME_ALIVE`.

The velocity of bullets is no more stable.  It is modified by the drag
force at every call to `update(long)`.