Better panel caret display and behaviour