Using visual themes in a game
I want to write code like this:
  setBackground(theme.game.screenBackground) instead of
  setBackground(theme.game().screenBackground())


Read this : http://c2.com/cgi/wiki?AccessorsAreEvil

The URL is misleading, it is a 'balanced' article, the part I want you to pay particularly attention is this:


  The examples [...] they are really structures (data), not quite
  objects.


Your theme class should really be a structure, and be too simple to have getters.

In response to @bowmore, the Theme should not be responsible for loading resources, the theme should really return resource identifiers.

If it were me, by the way, I would probably go for

game.drawBackground()

where game knows what the theme is, and gets from theme the resource name for the background which a loader class then loads and a UI class then displays.