gui dye: use unicode paths

should not change anything, but just to be consitent in always using unicode in paths
cli: ensure the encoding to a piped output supports unicode

In case the output of the program is piped, the encoding is unknown to Python... which assumes it's ascii.
It then fails to print unicode character. Avoid this by forcing to utf8 in such cases.
model: move getMicroscope and getComponents to the core

the component part knows nothing about the backend, and containers, so it's preferable to move it to the core.

Also add a new function getComponent to simplify some scripts.
scripts: update to use getComponent function
driver andorcam2: make sure the parameter is uint32

was probably obvious, but just in case for 64 bits
gui: disable drift correction button for now

we'll renable it once the whole functionality is there...