Updated transform to have a relative_ and non-relative spatial information.
Relative: uses the orientation and position stored in the transform.
Non-relative: Goes up the parent chain and multiplies the orientation and position to find the world orientation.

Adding this interface and making relevant changes resolved the issue where we couldn't add blocks. It allows us to calculate the appropriate ray that is cast from the center of the screen again.

We're going to have to make it so that only position or orientation is linked to the parent at some point.