forked from http://farseerphysics.codeplex.com/