Optimisations
things like comment positions and sizes and block positions could be rounded (as an option)
because of how variable ids are stored, i could remove a duplicate name in the id
Block Opcode Table
store all the block opcodes that are used in a table, so that in the block objects, i can just store it as an index into that table, instead of having to store the full thing each time
Block Id Table
similar to the block opcode table, just block ids instead if projects are really that bad, which tbf i could also just store as a number that gets converted anyway, since scratch usually just uses a-z and stuff