Players can die now

Players have HP.  Just one for now, to ease testing.  If damaged, a player becomes a Ghost.  The Gecko object is destroyed in favor of the Ghost, and everyone is notified of the change of circumstance.

Likewise, Ghost players can now respawn.  A Ghost who clicks on the screen automatically selects the closest available Base to the click, and moves there rapidly.  Assuming it's still unoccupied on arrival, the Ghost is discarded in favor of a shiny new Gecko.

Not coincidentally, I'm now depending less on the player's registry ID (because that can now change) to identify a player, and more on the player name (because that cannot).
Fix a bug with die/respawn

Occasionally the GameClient.player_id field wouldn't get updated during a death or a respawn.  This was apparently due to the server sending a full registry update at just the right moment, so that the client misses the transition that would usually be handled by Move::Spawn or Player#die().  We could have the server send the client another you_are message, but it's not necessary.  If the server is sending us a Player object we don't have, and its player_name is ours, then it must be our player entity.
Add Slime

Slime moves like a lemming.  It's also cute, like a lemming.  It's not as fragile as a lemming; in fact it tends to do a lot of damage to whatever it touches.  Because it's made of acid.  (Cute acid.)  It does more damage when it falls on things, but it also damages what it walks on, and what it bumps into.  When it's trapped, it does damage to its prison... slowly.

It's now possible to rotate the selected (pointed-at) or grabbed entity, using the [ and ] keys.  Useful for positioning bases on walls/ceilings.

Fixed a bug where all entities would be woken up, client-side, simply because the << operator was being used to add them to the GameSpace.  This shouldn't be done for objects sent by the server, such as during full registry updates.

Fixed a bug where a Gecko dying while on a wall would become a sideways-ghost, which just looked silly.
Get client_engine_spec up to date and passing

Reflecting the change introducing bases
Fix Ghost graphic

It shifted over a pixel when it blinked.
Don't teleport certain things

1) Teleporters
2) Teleporter destinations
3) Ghosts
4) Grabbed entities
Smarter brick and cement

Brick and cement blocks now fall unless they line up *exactly* with supporting objects on their sides.  Additional logic ensures that a falling block will stop at the right level, even at high velocity, if it encounters a source of support.  Getting this right was tricky, so -- unit test.

No change to the behavior of dirt or steel.  For now I'm happy with them as they are, but I might make a similar change to steel blocks at some point, for consistency.