Multiple API changes.
- Replacing of Duplicate() with Matrix(Matrix&)
- Replacing of width with nrows.
- Replacing of height with ncols.
- Introduction of size = nrows * ncols.
- Usage of size_t instead of int for indexing.
- Fix double-specific code to make library truly type-agnostic.

Also,
- Use native arrays instead of std::vector.
- Remove std dependency.