refactor pointerlock into input
refactor controller, comments too