servo: Fix failing to catch HwDriverError exception

The following exception of catching HwDriverError was never triggered.
    try:
      drv.set(wr_val)
    except HwDriverError:
      self._logger.error("Setting %s -> %s" % (name, wr_val_str))
      raise

Because imp.load_module() loads the module and updates its objects.
However, the previously-imported HwDriverError doesn't get updated.
So the raised drv.hw_driver.HwDriverError is not the same as the
previously-imported HwDriverError. It can be verified by modifying
the code like:
    try:
      drv.set(wr_val)
    except Exception as e:
      self._logger.error("*** id(e.__class__) %r", id(e.__class__))
      self._logger.error("*** id(HwDriverError) %r", id(HwDriverError))
      raise

Get the result of showing different object IDs:
2017-02-21 14:32:46,419 - Servod - ERROR - *** id(e.__class__) 25355664
2017-02-21 14:32:46,420 - Servod - ERROR - *** id(HwDriverError) 20860064

It is fixed by not using imp.load_module(). Import the drv modules at
the beginning.

BUG=None
TEST=Added the above debug code and verified showing the same object ID.

Change-Id: I57cf51a5db21cca4eb746931ff31ce299b9b8018
Reviewed-on: https://chromium-review.googlesource.com/445960
Commit-Ready: Wai-Hong Tam <waihong@google.com>
Tested-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: Todd Broch <tbroch@chromium.org>
1 file changed