support initWithFrame

move setup to shared method to support initWithFrame as well as initWithCoder