add arbitrary dynamic size matrix MatrixMxN, tested

More operations in MatrixMxN coming soon
add MatrixMxN typedef