huge refactor to use fabric.js - have to commit this before my laptop dies. everything is not where it should be but it is mostly functional