Rename test case to be clearly for the web-facing parts of Tappy Terror
Port Location over

Extracts the Location class from the old Tappy Terror and brings it over to
Flask-land. This was straightforward: the class is self contained and just
encapsulates a bit of logic about mob spawning.

The only hard decision was what to do about the things that were set in module
level variables as configuration in the original Tappy Terror. I've decided to
keep them as module level variables for now just for the ease of porting, but
I think they should go into their own config structure if we end up with
a bunch of them. We didn't change these much when we were setting up the
game initially, but I still find it icky that we had to tune them by
changing code, not data.

Adds tests for mob spawning and removal to ensure that gameplay asusmptions
about mob counts aren't violated.
Port Polygon over

Bring Polygon over in to Flask-land. We used this to represent bounding boxes
for rooms in the game because there obviously isn't a good alternative to
rolling your own class when it comes to representing 2D bounding boxes :)
This was another straightforward section of code to port because it doesn't
depend on anything else.

I'm not sure why this class is around and useful, thanks me from many years
ago. It should have some more behaviors if it's actually going to be more
than "hey here's a vertex list".

Also bring over the floor list, which defines the bounds of various rooms
in the game. This is the primary place that Polygons get constructed,
so it's easy to pull over at the same time.

Adds a couple of silly tests that basically just construct Polygons so
that there's at least a little test coverage.