Cleanse Sketchpad constructor.

By separating Sketchpad constructor from the rest of the API, it becomes
clearer to identify everything it does.

Change-Id: I13d0abfe5f81bf310973c27ad196e37f505f2698
Use context enforcing to enhance callback handling

Change-Id: Ica966050af0349b4ee592e280f39bf0a2a9f9838