Inversion of control framework basaed on x-tag and lavenderJS for developing HTML5 applications