Compass Tests V2

Ok once again I just want to use this PR to discuss some stuff. It's in no way ready to merge

https://github.com/rwaldron/johnny-five/issues/200
I feel it's kind of weird to do this as the tests are going to be the same thing just with a different device. However this has to be done as the two devices work quite differently. Are there any strategies for running the same tests with a different constructor?