Rewrite the entire controller handling to support the mobile rig

This was a tedious process of converting the entire existing Javascript
interface to Csharp to support the CrossPlatformInput easily. This also
allows the original script to remain as a fallback for desktop versions.