gs-app: Add thread safety around accessing GsApp::icons member
Some functions did lock a mutex while accessing the 'icons' member, but some not. Furthermore, the public API returns an internal pointer, which can be modified by other thread after being returned. The new functions add thread safety to all accesses.