Fix crash when using commands on startup which need a widget.
Fix statusbar text when entering insert mode via hints.

Before, hints cleaned the statusbar text delayed, clearing the "==== INSERT
MODE ====" in the statusbar.

Now we only reset the text if it wasn't changed.
Make it possible to use pdb for debugging.
Fix rl-unix-line-discard by reimplementing QLineEdit::home.
Add details to colorama workaround.
Improve prev-page/next-page matching and logging.
Add webelem wrapper to TODO.
Add FIXME to qurl
Improve webelement API
Remove unused import.
utils.completer: Quote strings for completion.
More liberal quoting.
Start initial newcmd stuff.
Nicer debug printing of functions.
Lots of fixes for new command system.

Squashed commit:

- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
commands: Handle ArgumentParser exit.
commands.cmdutils: Clean up decorator.
commands: Add initial --help argument support.
commands.argparser: Make ArgumentParser take args, add name.
Clean up docstring parsing and move it into qutebrowser for commands.