set textcolor to black or white based on greylevel of background
on Android 4, updating a background that was set to a color resource, modifies this resource, hence corrupting all views depending on that resource. Mitigate that problem by distinguishing between mutable and immutable style