[smartplaylist] move CDatabaseQueryRule to a new file
[smartplaylist] use statics in CDatabaseQueryRule for operator localisation and enum querying
[textures] adds ClearCachedImage() to clear a texture by id
[textures] Adds GetTextures() to return textures with filtering ability.
[textures] move image wrapping functions into a separate class
[textures] expose the texture cache to JSON-RPC with GetTextures/RemoveTexture