Level loading (in progress)

I'm just putting this here so y'all can look at it. I haven't had a chance to work on it since the meeting.

This supersedes #9.