* refactor(renderer): centralize VAO setup and rename init_underwater
* refactor(gameplay): replace VBO with VAO for vertex data
* fix(renderer): move depth test enable to world rendering
The `glEnable(GL_DEPTH_TEST)` call was incorrectly placed in the general `render()` function, affecting UI and text rendering. Moved it to the start of the world rendering loop to ensure depth testing is only active during 3D world pass.