app: detect possible mixup of PyQt4 and PySide usage.

Mixing the two may lead to unpredicatable sitations. e.g. I
see segfaults on closing on Linux, but on other systems other
effects may take place.
app: handle potential PySide PyQt4 mixup better.

Now we do not allow using one as a backend when the other is imported.
app: cleaning qt-mixup-prevention and fix tests and pep8
app: pyside and pyqt4 are now more normal backends. qt is no backend.

This makes it that qt/pyside/pyqt4 has less of a special status, except
for that most code for both backends is shared.

It is now actually possible to use both backends at the same time.
Previously it seemed that this was possible, but you'd get whatever
was selected the first time that _qt was loaded. Of course, it not
recommended to use both at the same time, but our tests seem to need
it, and so does sys_info().

Also, when auto-selecting a backend, vispy prefers backends for which the
GUI toolkit is already loaded (this was already the case). If such a
backend could *not* be used, a warning is issued.
app: prefer pyat4 over pyside. Also some docs.
Merge pull request #259 from almarklein/app-detect-qt-mixup

app: detect possible mixup of PyQt4 and PySide usage.