Update ls.lua

Changed so newlines only are inserted if io.output() == io.stdout and component.gpu isn't nil, or enough files to reach math.huge

it still formats width between file entries based on max length though, regardless of whenever there's an gpu or not though...

Though in which case would ls ever be used where there's no gpu?, and in said case, why not just use filesystem.list directly?