ENH: Add `doctest_skip_parser` allowing conditional skipping of doctests

This framework is based on a DiPy pull request: https://github.com/nipy/dipy/pull/105

Our first conditional doctests are needed if neither PyQt nor PySide were available in skimage.viewer, reported by @cdeil. However, both instances were actually *class* docstrings rather than *function* docstrings, which was not supported by the DiPy decorator.

Here I have generalized the framework slightly (along with updated tests for both classes and functions) and it appears now to work transparently for either case.

I believe this resolves the problem noted after the merge of #811, but @cdeil should test this to make sure.

@ahojnnes, @stefanv and other devs might want to check over current and future skipped doctests; some can probably be converted into conditionals rather than outright skips.