TODO :
[x] Unify all the places where cursor mode is applied
[ ] Optimize refresh : when using floating cursor, do not refresh when the cursor is not on the edge
[ ] Fix backward playing with floating cursor
[ ] When floating cursor reach the end, move the view back to start
[ ] When hitting play with floating make sure the cursor is in the view. If not, make it on the left/right(backward)