Enhance amount painter draw algo

Rather than using hardcoded black/white values, we fetch values from
`option.palette`. Also, we draw a background before drawing the text.

ref #407
(#407) Amounts not painted correctly

Added the inactive but selected state to the conditional checks,
which is editing mode or selected rows not highlighted (another window
active while there is a selection in the table).
(#407) Amount values will not paint on Windows

Last commit was a no-go on linux, I had a nice gradient background
which was not stylized correctly (had our flat filled background).
  This alternative solution works on linux, where a boolean flag
(_display_text) is saved in the delegate to determine if it should
return text to display by the base class painter.
Merge pull request #409 from brownnrl/amount-fix
Merge branch 'amount-fix'