S1D13541: add `setopt' control command + opt_clear_on_exit

* add `setopt' command to the sysfs control interface
  (write-only)
* add parinfo->opt_clear_on_exit option to enable
  screen clear when the driver is removed
* set initial value of opt_clear_on_exit to 0 (disabled)
* add first `setopt' option `clear_on_exit' which can be
  set to 1 or 0 to control opt_clear_on_exit

Signed-off-by: Guillaume Tucker <guillaume.tucker@plasticlogic.com>
S1D135x1: add "sync" command to support synchronous updates

* add `sync' command to the `control' sysfs interface which
  blocks until the given update status has been reached
* possible synchronous update status values are "idle", "pending"
  and "busy"
* add wait queue and synchronous update status to struct
  modelffb_par to signal when the sync status changes and allow
  blocking user call

Note: A better approach would be to implement synchronous updates
      directly in the driver as an option when calling
      the "cleanup" command, but this means adding a layer of
      logic which is more intrusive.

Signed-off-by: Guillaume Tucker <guillaume.tucker@plasticlogic.com>
S1D135x1/pl_hardware: add is_enabled() function

Add pl_hardare_is_enabled() function to determine whether the HV
power is currently turned on or off.

Signed-off-by: Guillaume Tucker <guillaume.tucker@plasticlogic.com>
S1D135x1: add `power' command for power synchronisation

* add `power' command to the `control' sysfs interface to block
  until the given power state is reached (`on' or `off')
* use `pl_hardware_is_enabled' and `parinfo->sync_update_wait' to
  implement the blocking user call until the display power state
  has been reached
* rename modelffb_wait_sync -> modelffb_sync_wait to be consistent
  with other function names

Signed-off-by: Guillaume Tucker <guillaume.tucker@plasticlogic.com>