Refactored, Cuboid, Rect, Vector2, Vector3, Table and DataMatrix

rectangle has been renamed to rect. (finally)

::[]  methods will always try to convert given parameters to the target class
::new should only accept valid parameters (such as x, y in the case of Vector2)
  should, because Vector2|3 use their own set method to setup themselves
obj_to_*_a is intended to be used for lightweight conversion of the datatype to an array.

Table and DataMatrix, clear is the same as fill(0)
clear optionally takes an argument to specify its clear value, its
mostly kept for code clarity