New way to initialize the board that builds the model and view separately.
Narrowed the visibility of the pieceFactory and simplified.
Cache some elements so they aren't repeatedly created. Give Square control over its <td>'s creation.