Tracking Matrix size info by types.

Added Nat type parameters to Mat to track row and column size info. This makes matrix algebra
operations type safe. Will soon add type safe indexing.