Make the scheduling algorithm significantly greedier

Rather than searching every tile on the array for a place to put each
operation this new algorithm simply find the first tile at which it's
possible to schedule an operation and then does it.