Adds rectangle body and geometry

Still not 100% satisfied with the tests, but this is a decent first pass and ready for comment