Convert the entire driver codebase to TypeScript, which involves the following:
- Use git to move all files from lib to a new src directory, preserving history as much as possible
- Convert all files in src to use TypeScript with minimal changes to the existing code
- use the newly developed ts-convert.sh script to automate as much of the conversion as possible
- this first pass will not be ideal, and will likely make heavy use of any
- Convert our test runner to use ts-node to run all tests against TypeScript-ified code
- Maintain all tests in vanilla JavaScript
- Add a prepublish script for using the existing TypeScript "pipeline" script to generate readable transpiled javascript before publishing the module