Added automatic text wrapping to labels (#26)

Text in labels is automatically wrapped when the text is set. The label
tries not to rip apart word, when possible. But wehen the gap would be
bigger than 4 Characters, it does so anyway and sets a "-" on the line
end. Also, this commit contains some refactoring and also an enhancement
regarding textboxes (caret positioning via mouseclick!).