Add support for persistence

- Enable support for persistent notifications,
  that are never removed until the app/user closes
  them
- New bool setting *persistence*
- New command line argument --persistence
Update README with persistence example
Add body-markup to the capabilities list
Update widget style

- Switched style colors to help with the
  action buttons
Update test scripts
Support resident hint when persistence is OFF

- I've been going over a rationale for notification
  persistence, but I've been having doubts about the
  correct *default* behaviour. This commit enables the
  use of the resident hint even if the persistence capability
  is off
- At the moment kabal's behaviour is as follows
  1. If persistence is on then all notifications
     are resident unless the transitive hint is present,
     the resident hint is ignored
  2. If persistence is off then all notifications are
     transitive unless the resident hint is true
- To me this is the most sensible default but I am open to
  arguments against it - It seems to me that IF the **persistence**
  capability implies that notifications are **resident by default**
  then the **resident** hint is only usefull when the capability
  is off
Make internal notifications always transient

- Internally we have the Critical() method to send Kabal related
  events, such as enable/disable - these notifications should always
  be transient, since they just provide feedback to user action
Set fallback icon size for iconprovider

- Sometimes the iconprovider will get requests with
  an invalid icon size (-1,-1) unfortunatelly this causes
  QIcon::fromTheme() to return the smallest possible icon,
  we now assume 48x48 when the given size is invalid
* I have no strong reason for the 48x48 fallback, it might
  even be more accurate to use the largest icon size from the
  available sizes list (or the closest)