Create struct to hold parsed world data
Move top-level parsing code into World
Refactor
Add support for components declaration

The declared components aren't used yet. Components are still inferred
from the entity constructors.
Improve formatting
Rename a variable
Pass whole parse::World into generation function
Rename an argument
Use component declaration

This means components are no longer inferred from the entity
constructors.
Rename test file

Built-in entity constructors are going away. I'm going ahead and reflect
this in the test name.
Refactor

This change makes it possible to reuse $imports in another method I'm
about to write.
Rename entity constructor in test

This avoids a name collision with a method I'm about to write.
Implement create_entity method

This method, together with the not-yet-existing builder methods for
entity, are going to replace entity constructors.
Remove use of entity contructor from test
Fix entities not being exportable

Entities created via create_entity were not properly exportable. A test
that exposes this bug follows in the next commit.
Remove use of entity constructor in test
Remove use of entity constructor in test
Derive Show for parse data types
Remove redundant code

Looks like there was a second method that was inferring components from
the entity constructors.
Remove unused entity constructor from test