Refactors firefox js usage into a mixin.

This hides the various shell token trickery I use to execute js in a Firefox post module behind a nice pretty "exec_js" method. I also added base64 encoding to the cookies module, since it was failing in some instances depending on charset.

#### Verification
- [x] get a privileged firefox shell
- [x] `module/post/firefox/gather/cookies` gets you cookies
- [x] `module/post/firefox/gather/history` gets you history
- [x] `module/post/firefox/gather/passwords` gets you passwords
- [x] `module/post/firefox/gather/xss` works (`set SCRIPT "return 1"` then `run` should print `1` in msfconsole)