Configure browser capabilities through YAML

Replace code configured webdrivers with a YAML config. Replace documentation with a standard initialize call.

YAML is neat because it makes it easier to set up multiple browser configs for running your tests, especially because YAML supports inheritance, so you can do a lot of defaulting.

This branch includes some fixes for the Django steps, and the onbeforeunload fix.