ConvertList: rename COL_COUNT to NUM_COLUMNS to prevent confusion
ConvertList: check if every column has a title
ConvertList: restore saved state only if column count matches
RangeSelector: rename m_mousePos to m_mouseDownPos
RangeSelector: bug fix: reset m_mouseDown to false on mouse release
[refactor] RangeSelector: extract edgeToMove() from mouseDown()
RangeSelector: simplify the logic of edgeToMove()