Hey Joel
I was very interested to see your implementation. It's drastically simpler than I thought it would be. Well, you did mention it was simple :) However, I thought the math was pretty expensive to do and complex to program.
I like the approach generally--you have parameters for the assumed noise model and methods to set them (better than trying to build a monolith that does both the measurement and filtering). Do you have another patch or abstraction to analyze the sensor data and calculate those parameters? If so, you should add it to git.