As the message implies, WebGL has a limit on the number of textures that can be used in a single draw call. It guarantees that at least 8 are supported, and some hardware supports more, like yours with 16. When your terrain and imagery tiling schemes are not aligned, a single imagery layer can end up requiring 2-3 textures. Plus a couple of texture units are sometimes used for things like the water effect when you're using CesiumTerrainProvider. So it's not surprising to get this message at around 6 layers.
It's possible for us to work around this WebGL limitation within Cesium, by breaking a tile into multiple draw calls when necessary. But this comes at a significant cost of complexity and performance. At 6 overlapping layers, you're probably already starting to see some slowdown anyway. A much better solution is to combine some or all of your layers on the server side.
Kevin