goroutines, range instead of dumb for loops

I made the emulated CPU work as a goroutine that passes the screen data
back after every cycle.  Eventually this will only pass data back if
the display has been drawn to.  I also replaced all of the dumb C-style
i := 0;i<value;i++ loops with proper go style i := range collection
loops.