Fix vm loads

The methods `vm_load_*` took a filename in argument.

This pull request modifies this API, in order to use a data buffer instead. That way:
* There is no need to use a temporary file to load an in-memory element
* The file is not opened and read twice
* It fixes a bug when using the `Container` abstraction

This pull request also clean some examples' imports. In addition, some comments have been added to `vm_load_*` functions, and a duplication of `vm_load_pe_libs` code has been avoided in `ContainerPE` implementation.