ENYO-485: Fix Spotlight hold issue

A recent change to Enyo's hold implementation (enabling the
definition of custom hold events) caused a regression in
Spotlight's own hold implementation. Specifically, the Enyo change
introduced a change in the format used to specify the hold config,
and this change caused problems for Spotlight, which was reading
the config directly and using it to implement equivalent hold
functionality (which was originally copied from Enyo and lightly
modified). Because Spotlight couldn't read the config, the timing
of Spotlight-generated holdpulse events was incorrect.

We made a hot fix on a branch for Enyo 2.5.2-pre.8, but that fix
doesn't cover all use cases and doesn't address the fundamental
issue -- the delicate way in which Enyo's and Spotlight's hold
functionality are coupled. A better fix for the long term is to
refactor Enyo's hold functionality so that it can be shared by
Spotlight.

This pull request implements the Spotlight side of that
refactoring, eliminating most of Spotlight's own hold
implementation and replacing it with a few calls to methods in
enyo.gesture.drag. This change depends on related changes in
Enyo.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)
Merge pull request #156 from enyojs/BHV-17798-graynorton

ENYO-485: Fix Spotlight hold issue

Reviewed-By: Cole Davis (cole.davis@lge.com)
Integrated-By: Aaron Tam (aaron.tam@lge.com)