PLEditorViewController now identifies when the cursor moves over a closing brace.

Implemented the textView:willChangeSelectionFromCharacterRange:toCharacterRange delegate method, which identifies (and currently logs) when the insertion point moves over a closing brace.
PLFormatter now exposes a method to return the character index for a matching open bracket.

This method characterIndexForNextOpenBracket:fromIndex simply returns the results from characterIndexForMatchingBracket().
PLEditorViewController now animates a highlight box over a matching bracket.

This commit introduces several changes:
  1) PLEditorViewController.xib now specifies the NSTextView Text Editor View as a Core Animation Layer
  2) PLEditorViewController has an instance variable bracketHighlightLayer that is a CALayer object initialized with a yellow background color and assigned as a sublayer of the textEditorView.
  3) Upon moving the cursor over a closing bracket, the PLTextEditorView identifies the rect for the glyph of the matching opening bracket.
  4) The bracketHighlightLayer is moved to the open bracket glyph rect and its opacity is animated to pulse.
PLFormatter characterIndexForNextOpenBracket:fromIndex now simply returns the result from characterIndexForNextOpenBracket().

This fixes the issue where open brackets on the current line were not matched.
Added a shadow to the bracket highlight layer.
The bracket highlight layer is now a CATextLayer that includes the open bracket as its text.
The highlight bracket animation now increases in size in addition to the previous opacity change.
Added rounded corners to the bracket highlight animation.
Prevented a movement animation when the highlight bracket layer frame was adjusted.

This is accomplished by wrapping the setFrame: message in a CATransaction that disables transactions.
In PLFormatter, the characterIndexForNextOpenBracket() function is now the class method characterIndexForNextOpenBracket:fromIndex.

Previously, the class method simply returned the results from the function so it was unnecessary to have both.
Cleaned up variable definitions in textView:willChangeSelectionFromCharacterRange:toCharacterRange in PLEditorViewController.
The highlight bracket layer shadow is now softer and offset slightly in the negative y-direction.
Improved the bracket highlight animation.

The animation now occurs in three steps: (1) appear and grow highlight, (2) hold the highlight, (3) disappear the highlight.
Added documentation for the bracketHighlightLayer and selection delegate method in PLEditorViewController.
The bracket highlight layer text now correctly renders on retina displays.

This requires the contentsScale of the bracketHighlightLayer instance variable to set to the main NSScreen backingScaleFactor.
Moved the QuartzCore framework in the Frameworks group in the Xcode project.
Improved comment documentation for bracket highlight animation logic.
Increased the width of the bracket highlight layer.
Minor color change of bracket highlight layer.
Fixed issue where vertical insertion point movement could trigger matching bracket highlighting.

Added an additional check to ensure that the cursor movement only increases the insertion point by one character.