Merge pull request #2 from espenh/develop

Added locked editing.
Add cellIsVisible function.
Pass cellIsVisible to selection range.
Only consider visible cells when moving/selecting (#4).
Add getRowByIndex function.
Pass getRowByIndex to selection range.
Enable navigating to cells in thead/tbody/tfoot (#5).
Respect colspan property when moving/selecting.
Enable setting selection.
Add support for selection containing cells from other table.
Handle dragging over cells with HTML inside.

Before, event.target was assumed to be the TD/TH itself. While
if there's HTML inside a cell (i.e. when using templates), it
could be a child element that's the event.target. Thus, one
should walk up the hierarchy until the TD/TH is found.
Improve support for shared selection among several tables.
Enable moving to above/below table sharing same selection.
Simplify adjacent cell look-up.
Fix moving right from cell with colSpan > 1.

Rather than increasing cellIndex by 1, it is now increased by
the value of the colSpan property.
Add borders.
Move selection DIV and editing INPUT elements outside table.

Having the elements inside the TABLE caused an extra border to appear when
the selection was visible or a cell was being edited. In addition is was
semantically incorrect.

Added class names editable-cell-selection and editable-cell-input to be able
to locate the elements belonging to a table.
Allow before/after table to be directly before/after.
Scroll selection into view manually.
Create editableCellViewport binding.