Cursor style implementation, vertical bar cursor and real underline cursor
merge