Hi J,Off hand, I can imagine a GPS or solid state compass doing what you want. The GPS might be more complicated and less sensitive for the yaw (vertical) axis. Most compasses come with accelerometers in the same plastic IC, In most cases, you can ignore what you done't want. I have experience with the BMC156, MPU9250, and AK8963. The MPU9250 actually incorporates the AK8963 as I recall. It is the most complicated to deal with as it requires both SPI and I2C for the compass.
My personal favorite was the AK8963. It was easy (SPI), sensitive (more than the BMC), and gave fast response. Response time is under user control as you control the number of readings being averaged. My code is Assembly and for an enhanced mid-range PIC (probably the 16F1829). I found its datasheet easier to understand than the BMC's too.
I have attached a zipped file of the MP4. Not sure I can upload MP4 here. Hope it works.
John (aka JP or J1 )
EDIT: I had forgotten that I wrote a short review of those 3 chips:
I'm now working on the Compass chip MPU9250.
I have the MPU-9250 Register Map and Descriptions Revision 1.4 and the AK8963 Data sheets, and as you say it's mighty complicated.
I think the best way to use it, is by using the FIFO, where each register must be pointed at, before READ. I don't think Oshonsoft can do this, and with previous modules, I READ each 8BIT address in quick succession.
Do you have any programs from when you used them, please.