Fix rotation cascading

As discussed in issue #378, rotating a parent does not rotate the child, but instead sets the child's rotation to undefined. (It calls e.theta, which was never defined.) This change seems to fix it, and I added a unit test to confirm.

In #378, @benbarefield also suggests that collision polygons are rotating the wrong way, and proposes a code change to fix it. So I made that change, but I have NOT checked it.