Fix crash on exit (BL-487)

The main crash got fixed in geckofx, but this change fixes some
missing dispose calls that might also have contributed to the
problem.
I guess usually it will complete, thus disposing the browser. But I had it happen that it didn't complete - didn't investigate why. Having the browser in a member variable so that we can dispose it when the app exits seems a safe backup given the fact that we get into trouble if the navigation didn't complete. In that case the finalizer will dispose the browser but since it runs on a different thread it will cause problems on Linux.