Useful New Engine Features

I completely overhauled the way the filesystem was handled, along with a  near-total rewrite of the `Selection` class