It does seem to me that beyond better sensors, the real problem with moving towards self driving or even enhancing auto pilot is software. For example, I think it's likely essential for the system to build a model of what's going on around the car with some characteristics of all the different detected objects, such as speed, past movements, any signaling, etc. If a car is obscured by a hill or a truck or whatever, it doesn't cease to exist, it just isn't visible. If it takes an exit, it's gone from the model and so on. On the other hand, if a truck in an oncoming lane turns in front of the vehicle, just because it's shape and color changes, it didn't cease to exist. If the model can't figure out what happened to it, there should be an alarm.
Given a dynamic model like than, the car then can do something like a chess playing program and assess what's possible and likely to happen and drive accordingly.
While I think all this is quite possible, the software effort to build it is quite non trivial and I'm not convinced that Tesla has the team and, more importantly, the corporate culture to do it.