Reordered if/else statement

Check for positive value first.
Return early from methods when possible
Cleanup ';' in implementation file
Added popUpViewCornerRadius property

Need to draw the arrow differently, as it becomes detached when large
radius is used. If the arrow base starts at the vertical centre of the
popUpView, this should solve the issue.
Improved arrow bezier path drawing

The base of the arrow is positioned at the vertical centre of the
popUpView which means that it doesn’t become detached when a large
cornerRadius is used.
Improved popUpView size calculation

Calculate padding by multiplying the width and height by a const amount
rather than with addition of a defined length. Replaced #defines with
const float declarations.
Merge branch 'radius_property'