[Issue #359] Implementing init, to allow for use with non-designated initializer with auto layout
Changing return type of initWithFrame to instancetype
Fixing precision warning with double to CGFloat conversion