Inline entity tiles

Inline Entity Tiles allow the engine to define a detail screen for a datum that is available persistently after the datum is selected. Additionally, the element can contain its own expanded detail set on-demand, allowing clinical and complex interfaces to more rapidly transition between selecting and interacting with a model.

X-Requested w/commcare-odk and commcare.
The default implementation called by this() creates a default single-tenant controller. This fixes a bug where that  gets overwritten if the incoming controller is null.