Thanks for testing. Glad to hear it runs nicely for you, though I can image how hard it would be to control with a trackpad.
The gimbal lock was fixed not by adding Quaternions, but by changing the algorithm I was using (it already was using Quaternions).
I was creating the orientation quat using 3 quats for bank, pitch and heading, then muling them into a fourth, but for it to work properly a new quat composed of the deltas must be post mulitplied to the current one, thus making the changes cumulative.
The history of the problem: When I started out building the engine (and my scene graph), I was building for an FPS and the calcs made sense for that and I just never did the restructuring to support the cumulative quats…laziness 