Fix cross-platform issues with BPM column. Fixes Bug #1201079.

Via arcane Qt magyck.

I came up with a workaround that basically lets us steal the styling from one widget and apply it to another. This lets us hack around the fact that QTableView is only built to support a single styling of CheckState roles.

The background and text rendering are also more in-line with the other columns. If this works well on Windows/Mac/Linux then I'll work on fixing our other delegates to behave this way.

I would appreciate some testing from people.