Separated AI, events, and utils into their own modules, and wrote preliminary unit tests for each
Moved next_tick_time() out to engine.py and wrote tests for it
Moved game loop into engine.py, moved browser notification system to a queue
Fixed bug where there was no delay between frames
Made game thread run with gunicorn. Moved world maker functions to dedicated module. Most of the way to having the game work again.
Sending dot creation/movement to browser works again! Partial implementation of two-way browser communications.
Removed some extraneous logging, did some caching
Noted cause of bug and attempted (but failed) to apply a fix