Merge pull request #6 from Strilanc/dev

Fancy update
Update README.md
Update README.md
Update README.md
Update README.md
Swap gate
More type annotations; using points more foten
Merge branch 'dev'
paintMatrix, Rect.shiftedBy, type annotations
paintColumnVectorAsGrid
paintProbabilityBox
Non-nullable type annotations
JSLinting circuit.js
JSLinting
Added silly gates, Matrix.isApproxEqual/isApproxUnitary/norm2/svd
Moved gate set into gate.js, extracted gate_column.js
Rough movement of swap gate as a single block
Dumping gate painting into gate.js and using indirection instead of conditions
Renamed circuit.js to inspector.js
Half-done rewrite - more immutability, more named types, more flexibility in what a gate is