* ability to mark an open document as unsaved
* unsaved detection now being triggered based on layer tree height
* Changed responses to use classes instead of interfaces
* - rust implementation of unsaved markers
- upgraded eslint
* updated eslint in package.json
* - Renamed GetOpenDocumentsList -> UpdateOpenDocumentsList
- is not -> was not
* changed hash to current identifier to better reflect its meaning
* resolve some merge conflicts
* removed console.log statement leftover from debuging
* - changed Response to jsMessage
- split files
- Array<> -> []
* -remove path from UpdateLayer
* - remove unused if statements
* - comment for reflect-metadata
- registerJsMessageHandler -> subscribeJsMessage
- readonly message properties
- fixed binding filename and comment
- toRgb -> toRgba
* - newOpacity -> transformer
- added comments
* MessageMaker -> messageMaker
* Upgrade TypeScript, ESLint, and other dependencies
This also cleans up various other files where newer ESLint rules complained
* Set CI and CD to use Node.js version 16
* Small tweak
* Fix CD version printing
* Add nvm version for Cloudflare Pages