Cleanup and interface changes.

Inputs now also carry a timestamp and a player identifier. Inputs
without timestamps will be given monotonic timestamps.