A big overhaul to gaps. Each workspace can have its own gap size. This is then inherited by each client within that workspace. Moving a client to another workspace does not affect its gap size.

I am working on operators to change the gaps of an entire ws, or just a few clients- that shall be the next commit.