Fixed issues with rotate() in 3D

Adjusted PMatrix3D.prototype.rotate(angle, v0, v1, v2):

- added normalization for cases when <v0, v1, v2> was not a unit vector
- zero vector now does not cause rotation
- fixed an incorrect argument check
- changed unit tests (!) which reflected different assumptions than
standard Processing (weren't normalizing and were accepting zero
vector). Current tests now match output for Java mode.

Added above rotation functionality to Drawing3D.prototype.rotate. Fixes
#89.