Oil giant BP says it is "absolutely responsible" for cleaning up the massive oil spill off the US Gulf of Mexico coast.