Refactor JSQMessageBubbleImageFactory to facilitate subclassing

@jessesquires 

What do you think about this small refactor?
It allows developers to leverage all the logic inside JSQMessageBubbleImageFactory and still supply a custom image & insets.