multi-monitor support for all capture modes

now working with window/fullscreen capturing as well
some refactoring