Well, what you just posted is exactly what I meant just using vertex arrays instead of a buffer. A vertex array that is drawn as individual lines. A mesh is just a vertex buffer that is drawn as polygons.
the key is, all the drawing is batched. You only have to send stuff once per frame, hence you only get one draw call.
TheJamsh’s solution sends every single line individually and therefore, you hit the draw call cap.
Edit:
I haven’t checked that yet, but if you are able to batch the line rendering this way, then this should do the trick.