Custom first person controller, initial commit.

Not finished, a couple final touches left.