Carousel v2 keyhandlers should only respond to own align events

Carousel v2's keyhandlers use align events to set the active index of
the carousel, either before or after alignment has occurred. Event
propagation is not stopped, to allow client code to listen to them too.

But the keyhandlers do not check that the event has come from the
carousel to which they are attached. This means that if one carousel
is contained within another, the keyhandler of the parent is triggered
by alignment events from the child.

This commit fixes the bug by checking the source of each alignment event.
It also adds one test for each keyhandler which expose the original bug.
Committing today's WIP
Completed broadcast source fixes
Merge pull request #149 from fmtvp/broadcast_idtype_fix

Broadcast idtype fix. Paired with JonP on this, so review done during Dev. Jira ticket: TVPJSFRMWK-1911
Break circular dependency between widget and application
Add missing unit tests for the new RuntimeContext module
Merge pull request #141 from fmtvp/carouselkeyhandlerfix

Carousel v2 keyhandlers should only respond to their own align events to allow nesting of carousels.
The HorizontalCarousel is deprecated in favour of the newer Carousel which supports both horizontal and vertical orientations.
Removing noshade attribute on HR tag; can apparently cause device issues (see GitHub pull request #146).
Merge branch 'master' into remove-circular-dependencies
To work-around a bug in webkit (https://bugs.webkit.org/show_bug.cgi?id=68072), set the null dimensions and visibility hidden, instead of using display:none
Merge pull request #150 from sergiopanseri/TVPJSFRMWK-1918

To work-around a bug in webkit (https://bugs.webkit.org/show_bug.cgi?id=...
Added isComponent() function to Widget and an override in Component.

Refactored Widget.getComponent() to use isComponent() and remove the circular dependency between Widget and Component.
jsHint fixes.
Merge branch 'master' into remove-circular-dependencies
Fix jsDoc for RuntimeContext class.
Switched RuntimeContext to a Singleton class tobe more consistent with other TAL classes
Merge pull request #152 from fmtvp/remove-circular-dependencies

Remove circular dependencies
Fix issues on certain hbb tvs

Switch from using display:none to visibility:hidden when hiding the broadcast tv object to prevent the object getting cleaned up before it should.
Support the .item() accessor for the channel list to cater for devices that don't support the array accessor syntax.
Merge branch 'master' into hbbtvsource-display-and-channellist-fixes