Reorganise code into seperate files

This makes sense because these new files have no dependencies beyond the standard Python libraries, unlike `stbt.py` which depends on GStreamer, OpenCV, etc.  I'm doing it so I can reuse the remotes in fake-lircd which will
allow proxying the use of any of these remotes over a socket.