API: Use `visibility` as string parameter everywhere
GET /groups/:id/projects and GET /projects are the only two endpoints that are using the query parameter visibility as String (public, internal, or private).
All other endpoints use visibility_level as Integer (0, 10, or 20).
In the response, always visibility_level is returned as Integer.
Proposed solution
(as discussed below)
Since strings are easier to remember and to understand, use visibility as String everywhere, and remove all use of visibility_level.