Fix customstyles caching and use ICustomStyles adapter

I've included two things in this PR because the second depends on the first (at least in the tests):

1. Fix cache invalidation when setting existing values in with the ICustomStyles adapter.
2. Make the customstyles viewlet use the `ICustomStyles` adapter and not access the annotations directly.

I've added / updated tests too.
@ninfaj can you take a look at theese changes?