glfw3 got some serious changes in its API that make it in parts incompatible with glfw2. Most importantly several features have been scraped, since they were not a good fit for the scope of the glfw library. See http://www.glfw.org/docs/latest/moving.html#moving_removed On the other hand serveral vital features have been introduced only in version 3, like the support for the creation of multiple windows, OpenGL context multithread support and such. Hence it will be inevitable to install glfw3 besides glfw2 in different slots. As so not to break programs that depends on features of either version. Unfortunately the build configuration of glfw3 names the resulting shared object short name link identical to glfw2 (libglfw.so -> libglfw.so.2.x / libglfw.so.3.x); the static library file is named libglfw3.a though. It should be noted, that the default glfw3 build does not generate a shared object at all. It would be trivial to patch the glfw3 build to produce a libglfw3.so* as well, but this would have a ripple effect on all glfw3-dependees, requiring their build configuration to be patched to use that name as well. My suggestion would be to have the glfw3 ebuilds to configure only a static library build and put it into slot 3.
*** This bug has been marked as a duplicate of bug 498108 ***