[V3] VM videos

Follow up to PR #12.

Create a VM screendump thread (necessary to encode VM videos) on the Machine() class level, as in opposition to taking care of it on other parts of the code, such as the virt-test approach. Also, include a Video Encoder, and encode videos upon thread termination.

Changes from v2:
* Modernized is_ppm() function according to @ruda's comments
* Added parameters with namespace to control the behavior of the functionality, now it is possible to configure tests to disable screenshots and video encoding
* Changes to video quality: Screenshots are better and taken in intervals of 0.5 s, instead of 2 s.
* Now the screendump thread is silent, which makes logs cleaner
* The PR was entirely redone, it's cleaner and better organized.
Problems I still couldn't figure out:
* The exact dependencies that we need to add to the avocado-virt RPM to make sure the plugin works.

Changes from v1:
* Problems with encoder resolved, it's all working code now.