declarative: Custom surface item

Provide a custom surface item that handles unresponsive surfaces,
automatically take focus and set z-index accordingly.

Closes #36