I'll have a detailed post on this at the end of the week, including full performance numbers, motivation, design decisions, etc. But to quickly answer your questions.
The implementation is quite different, and pull requests to the official driver that changed design (a long time ago) were not accepted.
Our driver and bson implementations are faster, even in pure Ruby, so there was no need to do native C. (It also makes it more stable across various operating systems, and JRuby users don't get penalized anymore - it's faster on the JVM than the Java bson implementation.)
Origin is basically just there to be a DSL to build query selectors, and has no dependency on any other gem. I wanted to do this so others could utilize the DSL that Mongoid has for it's criteria without needing to use Mongoid, or depend on any driver.