[FEATURE] Declarative Views: Support global event handler functions

In declarative views (XML, HTML, JSON), event handlers so far can only
be defined by their name in the controller object. However, there is
a need to share event handlers between several views. This can be done
already by the means of controller / view inheritance, but inheritance
is not always the right answer for reuse.

The syntax for specifying event handlers in XML, HTML and JSON views
therefore has been enhanced in the following way:

 - names that start with a dot ('.') are always assumed to represent 
   a method in the controller. They are resolved by removing the 
   leading dot and reading the property with the resulting name from 
   the controller instance. One can imagine such names as being
   'relative' to the view/controller. 

   Example: 
     press: ".myLocalHandler" 
     --> attachPress(oController["myLocalHandler", oController);
 
   Note: this is by intention consistent to the complex binding syntax 
   for formatter functions.
   
 - names that contain a dot at a later position, are assumed to
   represent global functions and are resolved by calling
   jQuery.sap.getObject with the full name.
   
   Example: 
     press: "some.global.handler"
     --> attachPress(jQuery.sap.getObject("some.global.handler", 
                     oController);

 - names that contain no dot at all are first interpreted as 
   a relative name and then - if nothing could be found - as an 
   absolute name. 
   This variant is only supported for backward compatibility.

   Example: 
     press: "myHandler"
     --> if ( oController[myHandler"] ) {
            attachPress(oController["myHandler"], oController);
         } else {
            attachPress(jQuery.sap.getObject("myHandler"), oController);
         }

Note that global functions are also attached with the view controller
as their context ('this') object. This was done to simplify the
implementation of generic global handlers that might need an easy back
link to the controller/view in which they are currently called (e.g. to
call createId/byId). It should make the development of global event
handlers more consistent with controller local event handlers.	 
	 
Note: It is not mandatory but improves readability of declarative views
when legacy names are converted to relative names where appropriate.

Change-Id: I7ddf791f5ff36f9a3611c742e85874eb50386757
[FEATURE] Demokit: Read class documentation from source code.

- use Esprima to parse the JS source code
- reuse parts of jsdoc3-sapui5 plugin to analyze UI5 class definitions
- add necessary legal information for new open source component

Change-Id: I48a83697bc77ea1767c5fbeb68c32fe0537b96ae
Merge "[FEATURE] Declarative Views: Support global event handler functions"
Merge "[FEATURE] Demokit: Read class documentation from source code."