Adjusted CATextLayer for iOS8

NSAttributedString NSForegroundColorAttributeName must take a UIColor
in iOS8, but this causes issues on iOS7 when used with CATextLayer.
Therefore set foregroundColor property directly rather than with
attributedString.
No need to set frame of _pathLayer in layoutSubviews

_pathLayer is the main layer of the view, it will be automatically
adjusted when the view frame is set.
Remove size checking in layoutSubviews

The CAShapeLayer path is no longer redrawn in layoutSubviews, so
there’s little benefit to the check.
Conditionally redraw path when setting frame

Only redraw path if popUpView size or arrowOffset have changed.