The problem is easy if the lines are in general position (no three passing through the same point). For degenerate inputs the problem seems to be much harder.
We (Danny Halperin, Sariel Har-Pelel, KM, Eunjin Oh, Micha Sharir) have made a step forward. For mildly degenerate inputs (many lines crossing at a point, but no identical lines) we have an O(n log n) algorithm. For the completely general case, we can do tildeO(n^{4/3}), but are still missing the O(n log n).