Switch to mock filesystem for testing

This PR

- Replaces the `assets` directory with a mock filesystem
- Updates the test suite to reset the mock filesystem contents before every test case, so that order no longer matters
- Removes the old system for copying and deleting the filesystem contents

WIP