There's something that already does this -- phonegap.  write an app in js/html and have access to native calls.  It produces a native app so you'd have to go through the approval process like you mention.