Implement LPart classes

When a part is instantiated, both a Part and LPart are created, and
linked to each other. The LPart object gets passed to Lua and has
function parity with the Part class, but cannot access any functions
that are out of bounds (such as GameObject transforms, rigidbodies,
etc). This prevents players from being able to cheat super easily.