Make pygrub, eliloader, hvmloader and vncterm optional

In all these cases, it's possible to have a useful system without them, albeit with reduced functionality.

Some systems will never have a suitable binary, for example ARM will never have hvmloader.