Convert UnityScript to C#

Mario now has a CharacterState script, a PlayerCharacterController
script which derives from AbstractCharacterController, and a PlayerView
script which derives from CharacterView.

CharacterState might never need to be specialized.  We'll see.

AbstractCharacterController cannot be attached directly to anything
because it has an abstract method called "Act".  The idea is that a
deriving class should modify the CharacterState variables in the Act
method which is called as the very first thing in FixedUpdate.  So, in
PlayerCharacterController, Act updates the character's velocity based on
player input which is grabbed in Update.  A GoombaController would just
set the horizontal velocity to its max speed.  However, once we get some
collision events firing, a Goomba would change direction when colliding
with something.

PlayerView is empty.  We'll need to make CharacterView more generic if
that's possible.
Merge branch 'master' of https://github.com/whtt-eric/cooper-prototypes