The tab view is now split into a tab bar and tab subview.

The tab bar consists of the PLTabView and PLTabViewItems. The tab subview is added by the PLTabViewController's setActiveView: method, which was moved from the PLTabView class. The PLTabViewController now manages displaying the tab subview.
The active tab subview now properly resizes with the window.

In the setActiveView: method of the PLTabViewController, the currentView frame is always set to that of the tabSubView. Fixed the layout management in the xib file.
Removed top and bottom margins from the view extensions.

The tab view no longer draws background in the tab subview. Therefore, the text editor view needs to draw a background color in its status bar area. To do so, added a PLTextEditorBackgroundView that represents its main view in the xib file. It implements the drawRect: method to fill the background with its backgroundColor property. PLEditorViewController sets this background color in its updateThemeManager method.
Restored the IBOutlet connection between the controller instance variable in PLTabView and the PLTabViewController in the xib file.
The PLTabViewController now adds and manages the addSubview and addSubviewPopUp buttons.

All relevant methods and instance variables relating to these two buttons in PLTabView have been moved into PLTabViewController.
Cleaned up the properties in PLTabView and PLTabViewItem.
Cleaned up PLTabViewController properties and method names.
Minor cleanup in PLTabViewItem.
Minor cleanup in PLTabViewController.
The tab view hierarchy now uses a delegate pattern for user interaction and displaying tabs.

The PLTabViewController conforms to the new PLTabViewDelegate protocol (defined in PLTabView.h) which requires three methods related to clicking on a tab, closing a tab, and displaying a tab. Each PLTabViewItem has a tabView property rather than a controller. The PLTabView has a new delegate property set to the PLTabViewController. Events occurring on a PLTabViewItem are sent to the controller through the tabView's delegate.
Name change in PLTabViewController for clarity.

addSubview is now addSubviewButton.
Minor cleanup in PLTabViewController.
Merge branch 'develop' into feature-tab_bar.
Tab subviews now draw a background color.

Added a new NSView subclass, PLTabSubview. This subclass has a backgroundColor property and implements drawRect: to use it when drawing its background.
The tab view is now the correct height.

PLTabViewController.xib now uses autolayout. PLTabViewController now has an IBOutlet instance variable to the NSLayoutConstraint for the tab view height. This is set to PLTabViewMargin in awakeFromNib.
Minor cleanup and corrections in PLTabViewController.

Removed commented lines and unused import. Fixed two instances of incorrectly assigning PLTabViewItem to the keys of _viewControllers instead of NSString.
PLTabViewController now properly reflects the tab subview title.

The PLTabViewController observes its subview controller’s posting the PLTabSubviewTitleDidChangeNotification and updates the tab title in a new updateTitle: method. The PLTabViewDelegate no longer includes the tabView:willDisplayTabViewItem: method as it was previously used for this title functionality.
Restructured delegate pattern within the tab views.

PLTabViewController now sets the delegate of tab items to itself. The PLTabViewProtocol is renamed to PLTabViewItemProtocol. PLTabView no longer has a delegate, PLTabViewItem has a delegate and no longer needs the tabView property. In order to maintain the PLTabViewController as the first object responding to performKeyEquivalent:, PLTabSubview implements the method and sends it to its delegate. PLTabViewController sets itself as the PLTabSubview delegate.
Xcode fixed an inconsistency in MainMenu.xib from a previous merge.
Minor cleanup in PLTabView.