As of yet we do not know who attacked first.
1. Strictly speaking, Florida law typically does not allow you to use deadly force (even in self defense) if you "provoke" the use of force against yourself, which is a bit broader than "attacking" someone. In other words, if you "provoke" someone into using force against you (I'm sure there's caselaw dealing with what "provoke" means in this context), then even if the other guy throws the first punch, you lose your "self-defense" argument.
2. Zimmerman's 911 call provides some evidence of Zimmerman's conduct, and his state of mind at the time of this incident. Zimmerman did not simply observe Martin and report what Martin was doing. Rather, Zimmerman followed Martin, even after being told not to do so, and then tracked him down when he lost sight of him. He also said things like "these a**holes, they always get away" and "f*cking [punks?]." It's circumstantial evidence (pretty much everything is in a case like this, with no eyewitnisses and only one survivor), but Zimmerman's state of mind and conduct during the 911 call make it sound like he was the aggressor.
Whether Zimmerman committed a crime is an issue that will be dealt with by the courts. Leaving aside the legalities, the simplest fact of this case is this: had Zimmerman had simply Neighborhood Watch best practices and observed and reported rather than confronting Martin, this tragedy never would have happened.
“Rather, Zimmerman followed Martin, even after being told not to do so”
That is a false statement.
Here is what the dispatcher said:
Dispatcher: Are you following him?
Zimmerman: Yeah
Dispatcher: Ok, we don’t need you to do that.
That is a *long* way from the dispatcher telling him not to do it. Zimmerman had as much right to be in that public space as Martin did.