matrix: add project() method for 3d->2d transformation