코드블럭 위치 변경.
setRange() 함수 추가.
left, right 시 캐럿 위치 조정 추가.
불필요 코드 제거.
ime span (class="caret-ime") 스킵하도록 수정.
previousSiblingOrUncle, nextSiblingOrUncle이 null인 경우 null을 리턴하도록 수정.
left, right시 캐럿 위치가 바뀌지 않으면 그냥 리턴하도록 수정 (무한루프 방지)