An input abstraction and utility library for virtual reality systems