Adds browserstack support

This is an incomplete PR with basic support for browserstack.

`flatten_browser` still needs to be ported over to browserstack, and it seems like the default suite of test browsers has a tendency to fail (on the browerstack side):
`Uncaught Error: The environment you requested was unavailable.: {"value":{"message":"Could not start Browser / Emulator"},"sessionId":"","status":13}`