Create tile and board classes, implement requirejs, add states, additional functionality, and new styles