fix: configurateur mobile - corrige sauvegarde devis vierges

BUGS CORRIGES:
1. addToCartFromMobile() appelait addToCart() qui n'existait pas
   -> Convertit mobileParamsLengths vers currentLengths puis declenche btn-add-cart.click()
2. calculateMobileLinePrice() utilisait une mauvaise formule (surface * prix)
   -> Utilise maintenant calculatePrice() standard avec marge, plis, x2
3. PHP inline SQL remplace par la classe partagee teknipli_devis_functions.class.php
   -> Meme logique exacte que configurateur_v3.php (createOrUpdateDevis)
4. Champ 'comment' manquant dans l'item du panier mobile
5. Champ 'marge' manquant dans le formulaire HTML et la soumission JS
6. Ajout force_duplicate, origin_propal_id, origin_propal_ref au formulaire
7. Chargement devis existant: ajout renderCart() + normalisation des items
8. Restauration de la marge du devis existant dans le champ input-marge-globale
