Pressing tab now inserts the selected completions as in pressing return.
Autocomplete text view is now positioned after the current character and only includes the remainder of the completion.
Autocomplete text view now sends deleteBackward: command to the superTextView.
The No Completions view is no longer displayed on the autocomplete timer.

Instead, it is only displayed when toggled. In the doCompletion: method, only display the autocompletions if the table view has any rows.
The autocomplete view is now hidden if the user uses the left or right arrow.
All selectors not used by autocomplete are now sent to the superTextView.
Improved the behavior when clicking on an item in the autocomplete table view.

PLTableView now posts a notification when it receives a mouseDown: command. This mouseDown: event is not processed, instead the notification includes which row is selected. PLAutocompleteViewController uses this to display the table view, make the selection, and make the autocomplete text view first responder. This works around the issue where textDidEndEditing hides the autocomplete view.

Removed the use of tableViewAction and tableView:shouldSelectRow:. For consistency, PLAutocompleteTextView only posts a notification in its mouseDown: method rather than sending the mouseDown: to its superview (which is not necessary as the cursor is already at the same position as the autocomplete text view).
PLAutocompleteViewController no longer observes NSTextViewDidChangeSelectionNotification of the superTextView.

The functionality (to hide the text view when selecting the superTextView) has been replaced with the textDidEndEditing: method for the autocompleteTextView.
Autocomplete now inserts the selected completion into the superText view behind the autocompleteTextView to properly move subsequent characters on switching through completions.

The autocompleteTextView is now a proper overlay, in that it draws its background, has no lineFragmentPadding, and is always the same length as the selected completion. As completions are selected, the contents of the autocompleteTextView are inserted into the superTextView. PLAutocompleteViewController now has a boolean instance variable insertedCompletion that tracks if a completion has been inserted into the superTextView. This notifies the controller that it may delete contents in the superTextView if they were inserted as the selected completion.
Merge branch 'feature-autocomplete_textview_completion_only' into feature-autocomplete

The merging branch changes the autocomplete text view to only contain the partial completion. Therefore, it is always placed immediately after the insertion point and overlays superview text view.
Redefined two character utility methods as C functions instead.

fontSize is now fixedWidthFontSize() and firstCharacterIndexInWordAtIndex takes a NSString argument rather than using the superTextView string.
Simplified previousWhitespacePosition().

Now uses the NSString method rangeOfCharacterFromSet with the NSBackwardsSearch option.
Fixed an issue where the No Completions view was treated as the autocompletions table being visible.

In textDidChange:, test that the autocompletion view is not hidden and No Completions is hidden before simply repositioning the view. startCompletionTimer: now sets the view to hidden.
Cleaned up displaySelectedCompletion method.
Added deleteCompletion method.

This method deletes the partial completion text that was inserted into the superTextView. It is used in the updateAutocompleteTextViewContents method.
Fixed the autocompleteTextView width calculation.

In setAutocompleteTextViewSize, the width should be mutliplied by the length of the autocompleteTextViewString, not the selectedCompletion.
Hiding the autocomplete view by pressing escape now properly deletes the inserted partial completion from the superTextView.
Improved behavior in textDidChange: notification method.

This method hides the autocomplete view before starting the timer, rather than hiding it in startCompletionTimer. When the text changes, the autocompleteTextView does not need updating, as this is handled elsewhere.
The No Completions view is now defined in interface builder.
setDisplayAutocompletions:withAnimation: now checks the view hidden state before proceeding to hide or unhide.