Update QgsDataDefinedButton

- Add 'Usage info' functions; displays in description and tool tip
- Reorganize menu, adding conceptual section titles
- Add ability to paste in expression
- Add ability to clear defined expression
- Add check for non-matching data field types
- Add better truncation of expressions in tool tip and menu