Added contextMenu component

— The context menu is opened with the open() function. This function
can be called from a HTML element’s on-contextmenu (i.e. <element
on-contextmenu=“contextmenu.open()” />).
— Menu options for the context menu are defined as an array of objects.
Each object can contain the following
  — content: The text to display in the menu and to save as a selected
value
  — class: CSS class for the <li> element in the context menu dropdown
(can be used to insert dividers, for example)
  — value: Value to be saved when selected, overwrites content as value
if provided
  — action: Function to be run when the option is selected
— Actions to be taken when selecting a menu option can be
— A delayable event “open” is triggered before opening the context menu
— The “select” event is triggered after a option has been selected and
the option’s action function (if any) has been called
Convert tabs to spaces
Allow passing arguments to the open event listener

Arguments can now be passed from the ContextMenu.open() function to the
function bound to listen to the “open” event. This allows us to, for
example, set the options available in the context menu based on the
mouse event emitted on the context menu click or the element clicked
on.
Merging pull request from contextMenu branch on dadisn/d-bootstrap
Merge branch 'dadisn-contextMenu'