Robot follows balls (somewhat) and avoids walls (somewhat).

All processes are currently running in a single thread, so performance is expected to improve significantly when vision runs in parallel with other processing. There's something wrong with wall avoidance; once it sees a wall it should stop processing vision until it has avoided the wall. But based on it's behavior it doesn't look like it does that.