tabs: Make tabs more generic and dynamic
bug: Validate thread entry

Validate all fields with data even if it's for presentation only
forms: pass options to field render

Add support for complex options to support complex field rendering.
dialog: Support auto-resizing popup dialog

The size of the dialog can be auto-adjusted based on the options
tooltip: Add generic preview tool tip util

Generalize how we show object/data preview. The url to get the preview is
now based on data-preview attribute on the element in question.
tooltip: Show tooltip only on visible elements

Auto-close toop tip box when element goes away
thread: Add generic ObjectThread class

Thread-able objects (e.g Ticket) can extend the class to add object specific
util routines.
forms: Add flags field to form field.

This is necessary so we can consolidate various settings and permissions
into one bit mask field.
Rename ticket number sequence
tasks: Add tasks

Introduce the concept of tasks. Tasks are to do list that can be attached to
any object e.g Ticket.
forms: Remove object specific routines

Add generic routing to get object's dynamic form entries.
tasks: Add tasks support to tickets

Introduce the initial concept of adding tasks to a ticket.