Added support for different line widths

And some optimization so that the client doesn't send data to the server
for every pixel it crosses