JS client-side test runner

Switches from bash to manage client-side tests to JS for easy windows compatibility.

Also fixes a few windows issues to get browser tests passing.