storage: fix store when .storage file doesn't exist
graphics: empty buffer if line width change
main: remove useless include
display: add \n before displaying error when shader compilation failed
display: fail gracefully if shader compilation failed

otherwise we hit an assert
display: simplify error message
storage: use C functions instead of std::string
socket: use C functions instead of std::string