Adding "watch" task for live testing and compilation

Retargeting `1.4-docs` instead of `1.4-wip` per @markhealey. This replaces #198.

#### What

- Adds a "watch" task that runs tests and compiles when a source file is changed.
- Changes the "js" task to run tests before compilation.

#### Why

- Easier to get real-time feedback on changes that break existing tests.
- Running tests before compilation will prevent builds that break tests.

**Note: I'm not sure why the commits are duplicated. I just rebased the branch and fixed the conflicts.