Error tool tip enhancement

Currently the logic for the error tool tip is contained within aria.widgets.form.Input, the aim of this enhancement is to share code efficiently between multiple types of widgets. Specifically for the requirement of this feature, this means making the code for the error tool tip not only available for "Input" type widgets, but also for "Action" type widgets.  

In addition, it must also be possible from within a template to have a new widget property called errorTipPosition that will be used as the preferred position for the error tool tip, if there is not enough available space the framework will automatically calculate the best position for the error tool tip. The property will be added for both "Input" type widgets and also "Action" type widgets.