virtuallist: Rewrite listitem replacing algorithm
Older virtuallist only considered sequential move by flicking motion.
It cannot work correctly when scrollTo() is called by new scroll VI
implementation(3 flicking to top or bottom). The reolacing algorithm
is redesigned, to be able to handle immediate move(by scrollTo() to
arbitrary position.
New method 'scrollstart' event instead of old 'scrollstop'. When
'scrollstart' occurs, a timer function is run, which calculates the
number of lines to be changed. If the number is greater than 0, do
the listitem swap job. Otherwise, stop the timer function.
Solves N_SE-18618.
TODO: When dragging, 'scrollstart' is not fired, while the vlistview is
still moving. . Another detection method is needed.
Change-Id: I41f1413f33eef0826c933642658b0257383e9076