Tests!

Ok so here's the foundation for a basic test suite. This is using testling and tape, which are great for browser tests, but as I found out in this process, are still a tad bit buggy. I really love the potential that this suite of tools has though, so I'm going to keep working with this in general to see if I can get it up to speed for client-side testing.

Either way, the tests do work and run locally, and while unfortunately the ci that runs them cross-browser is erroring out and not showing me any output (tough to debug that one), you can still have a solid local test suite and check it out in-browser locally.

Plenty more tests needed to make this thorough, just wanted to lay down the foundations here.

This PR is based off both #25 and #27, so when those are merged I'll rebase this down to a single commit.