* start updating tests
* start implementing bitmask-based change tracking (#1943)
* oops
* fix some await block stuff
* slots
* reactive declarations
* component bindings etc
* start fixing slots
* fix store value invalidations
* slot stuff
* fixes
* fix
* fixes
* fix some slot stuff
* fix some invalidations
* fix if blocks
* fix a test
* destructuring in lets
* fix shadowing
* fix if block case
* all runtime tests passinfg
* almost all tests passing
* update tests
* never hoist writable vars in dev mode, fix debug statements
* beef up shadowing test
* always use renderer.reference
* fix sourcemaps
* ugh so close
* all tests passing. phase one complete, i guess
* add test for component with more than 31 dynamic values
* stable sort
* stable sort that preserves order
* linting
* failing test for bitmask overflow
* ok i think this is it
* lint
* rename changed to dirty, for more internal consistency
* update tests
* use bitwise comparison
* add comments... sort of
* update tests
* moar comments
* I don't know what happened to these tests