This PR provides the implementation of the auto-locking mechanism that
is dependent on an application's current auto-locking policy. Three
auto-lock policies have been introduced:
* DetermineByWindow
* DetermineByAppState
* PreventPermanently
Also changed the AutoLockWindow set/get auto-lock time value to the
message-based approach.