fixes #886 I have changed the library.getThemes code so that the server
is only hit when a theme is added/deleted and on the first getThemes on
the client. The themes are now cached and the caches is only invalidated
on theme add/delete/rename