Gunfire inside besieged Somali hotel as troops battle militants