Added DeviceDriverFactory class.
Added DeviceDriverState enum.
Renamed SimpleDeviceFactory to DeviceFactory and moved it up from drivers.