Started decoupling from SFML a little

This commit abstracts some of the types SFML provides as well as the
clock and timer abstractions. I want to wrap these up into something the
engine provides and gradually over time remove SFML altogether.