Heavy fighting rocks Libyan capital as rival militia battle