Add intermediate wrapper for objects which contain devices

The following classes now extend the new DevContainer class:
Program, Context, Platform