Add surface creation

This PR introduces a preliminary method of creating a surface and attaching it to each monitor present.