Fix #40

Use self.stopped in the main encoder callback to determine whether we
should proceed with processing at all. This resolves the race condition
that was causing the bug.

Also embellished several port enabled checks with EAFP style (try it and
ignore the error if it was already disabled, instead of checking if it's
enabled and then attempt to disable it). The original checks remain in
place as, unfortunately, EAFP style doesn't play nice with the default
logging setup (every failed call results in spam on stderr). If I can
figure out how to adjust vc logging for this particular case (while
leaving other logging in place) I'll remove the checks too.
Refactored enable_port to encoders

Much neater to have the main camera class simply decide on the ports
that the encoder should interface with and then leave all port handling
to the encoder class (including enabling and now disabling the camera
port).
Fix #45
Fix #41
xfail 1080p MJPEG captures

Camera locks up after a few frames on 1080p MJPEG recording; seems to be
a firmware issue (raise upstream?)