Faits :
A.
A.a. La société C._ SA, à laquelle a succédé B._ SA (ci-après: le maître de l'ouvrage ou la demanderesse), dont le siège est à U._, a pour but la commercialisation de produits horlogers, singulièrement celle de marques de maîtres-horlogers anglais des XVII èmeet XVIII ème siècles dont elle est titulaire.
Dès le 24 août 2004, A._ SA (ci-après: l'entrepreneur ou la défenderesse), société qui a pour but le commerce de toutes matières premières, marchandises et tous produits manufacturés ou non, dont le siège est à V._, a adressé au maître de l'ouvrage trois offres portant sur le développement, la réalisation et la fourniture de 200 mouvements de montres W._.
Le 10 novembre 2004, les parties ont conclu un contrat d'entreprise (dénommé contrat d'achat) portant sur la réalisation de 50 mouvements exclusifs, soit des mouvements mécaniques automatiques à tourbillon comportant des aiguilles affichant deux fuseaux horaires supplémentaires, dans une finition très haut de gamme, emboîtés, au prix de 25'500 fr. l'un (frais d'emboîtage en sus). Le maître de l'ouvrage devait s'acquitter d'une avance à la commande de 200'000 fr. et d'une deuxième avance de 75'000 fr. dans les 60 jours, TVA non comprise. Le contrat prévoyait des délais de livraison d'un prototype à compter du paiement de la première avance. Tous les coûts de développement étaient à la charge de l'entrepreneur.
Les commandes suivantes devaient faire l'objet de contrats particuliers.
Le maître de l'ouvrage a payé en temps utile la première avance de 200'000 fr., plus la TVA, soit 215'200 fr. le 16 novembre 2014 et, avec un peu de retard, la deuxième avance de 75'000 fr. plus la TVA, par 40'700 fr. le 21 février 2005 et 40'000 fr. le 31 mars 2005.
Le 18 mars 2005, l'entrepreneur a notamment informé le maître de l'ouvrage que, faute de paiement en temps utile, ce qui lui avait causé des problèmes de liquidités et avait retardé le développement du projet, il ne pourrait pas livrer un prototype à temps pour la Foire de Bâle; il requérait un paiement supplémentaire de 400'000 fr. pour assurer une première livraison de mouvements à fin mai 2005.
A.b. Postérieurement à la Foire de Bâle 2005, le maître de l'ouvrage a modifié le projet, demandant le remplacement du bouton-poussoir de mise à l'heure " à 8 heures " par un dispositif à friction.
Dans son offre du 10 juin 2005, l'entrepreneur a proposé un prix unitaire de 26'000 fr. pour les 50 premiers mouvements et une première livraison dans la semaine 38-2005, soit du 19 au 25 septembre 2005, contre paiement d'une avance de 400'000 fr.
Le 14 juin 2005, le maître de l'ouvrage a accepté cette offre et l'augmentation de prix à 26'000 fr. par unité pour 50 mouvements, mais sans répondre à la demande d'avance.
A.c. L'entrepreneur est revenu à la charge le 5 octobre 2005, réclamant une avance de 225'000 fr., soit une avance de 15'000 fr. par mouvement, dans la perspective d'une livraison prochaine de 15 mouvements, puis à nouveau le 31 octobre 2005 en réclamant une avance de 103'000 fr., dans la perspective d'une livraison de cinq mouvements au 21 novembre 2005, puis à nouveau de 103'000 fr. dans la perspective de la livraison de cinq mouvements au 5 décembre 2005 et enfin de 103'000 fr. pour la livraison de cinq mouvements au 12 décembre 2005.
Les parties ont signé le 15 novembre 2005 un avenant au contrat du 10 novembre 2004, le maître de l'ouvrage acceptant de payer une nouvelle avance de 103'000 fr., qui a été versée le 22 novembre 2005.
L'entrepreneur a livré un premier mouvement, qui n'était pas entièrement fonctionnel, dans le courant du mois de décembre 2005.
A.d. Par courrier du 19 janvier 2006, le maître de l'ouvrage a mis l'entrepreneur en demeure de lui livrer les cinq mouvements dans un état fonctionnel et esthétique irréprochable jusqu'au 31 janvier 2006, faute de quoi il mettrait fin aux engagements contractuels et demanderait la restitution des avances versées. L'entrepreneur a contesté cette mise en demeure.
L'entrepreneur a encore livré quatre mouvements à mi-mars 2006, qui ont fait l'objet d'un rapport négatif de la part d'un horloger responsable du projet chez le maître de l'ouvrage.
A.e. Par courrier recommandé du 27 mars 2006 adressé à l'entrepreneur, le maître de l'ouvrage a déclaré renoncer à l'exécution du contrat, constatant l'incapacité de son cocontractant à exécuter l'accord et arguant que celui-ci avait trop présumé de ses capacités financières et surtout de ses capacités techniques; le maître de l'ouvrage n'a pas fixé de nouveau délai d'exécution à l'entrepreneur, considérant qu'un tel délai serait sans effet; il a sommé ce dernier de lui restituer les avances versées, se réservant de lui réclamer le préjudice subi.
L'entrepreneur a contesté les motifs de " résiliation " et invité le maître de l'ouvrage à trouver une solution transactionnelle de manière à sauvegarder le travail important qui avait été accompli, de même que les investissements considérables qui avaient été consentis par lui.
B.
Le 30 juin 2006, le maître de l'ouvrage a ouvert action contre l'entrepreneur, concluant en définitive au remboursement des avances effectuées par 406'728 fr. avec intérêts à 5% l'an dès le 1 er avril 2006 et au paiement de 74'682 fr. 31 avec intérêts dès l'introduction de la demande, correspondant au prix des habillages qui avaient été acquis pour ces montres et qui étaient inutilisables pour d'autres modèles.
La défenderesse (i. e. l'entrepreneur) a conclu au rejet de la demande et, subsidiairement, a invoqué en compensation jusqu'à due concurrence une créance en dommages-intérêts contre la demanderesse (i. e. le maître de l'ouvrage).
Par jugement du 23 juin 2015, le Tribunal régional des Montagnes et du Val-de-Ruz a condamné la défenderesse à verser à la demanderesse les sommes de 406'728 fr. avec intérêts à 5% l'an dès le 8 avril 2006 (ch. 1) et de 74'629 fr. 45 avec intérêts à 5% l'an dès le 4 juillet 2006 (ch. 2); il a rejeté la demande reconventionnelle (ch. 4).
Statuant par arrêt du 20 septembre 2016, la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel a rejeté l'appel de la défenderesse dans la mesure de sa recevabilité et confirmé le jugement attaqué.
C.
Contre cet arrêt, la défenderesse exerce un recours en matière civile au Tribunal fédéral, concluant à sa réforme en ce sens que, principalement, la demande est rejetée et, subsidiairement, qu'il soit dit et constaté que l'éventuelle créance de la demanderesse est compensée jusqu'à due concurrence par une créance en dommages-intérêts au moins équivalente qu'elle a contre la demanderesse. Plus subsidiairement, la recourante conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. Elle invoque l'établissement inexact et arbitraire des faits (<ref-law>), la violation de l'<ref-law> et des art. 108 et 366 CO. Selon la recourante, il y a eu résiliation du contrat au sens de l'<ref-law>, si bien qu'elle n'a pas à restituer les acomptes reçus et a droit à une indemnisation complète de son dommage.
L'intimée conclut au rejet du recours en tant qu'il est recevable.
Les parties ont encore déposé chacune des observations.
L'effet suspensif a été refusé par ordonnance présidentielle du 12 décembre 2016.

Considérant en droit :
1.
1.1. Interjeté en temps utile (<ref-law>) par la défenderesse, qui a succombé dans ses conclusions libératoires (<ref-law>), contre une décision finale (<ref-law>) prise sur appel par le tribunal supérieur du canton (<ref-law>) dans une affaire de contrat d'entreprise (<ref-law>) dont la valeur litigieuse dépasse 30'000 fr. (<ref-law>), le recours en matière civile est recevable au regard de ces dispositions.
1.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 4.1.2; <ref-ruling> consid. 5.1) - ou en violation du droit au sens de l'<ref-law> (<ref-law>), et si la correction du vice est susceptible d'influer sur le sort de la cause (<ref-law>).
Le Tribunal fédéral se montre réservé en matière de constatations de fait et d'appréciation des preuves, vu le large pouvoir qu'il reconnaît en ce domaine aux autorités cantonales. Il n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (<ref-ruling> consid. 2.3 p. 266; <ref-ruling> consid. 4.2).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'<ref-law> (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18). Les critiques de nature appellatoires sont irrecevables (<ref-ruling> consid. 1.3 p. 261/262).
1.3. L'exposé des faits de 17 pages ne contient aucune critique satisfaisant aux exigences de l'<ref-law>, de sorte qu'il n'en sera pas tenu compte.
2.
2.1. Examinant la question des retards pris par l'entrepreneur dans le cadre de l'application de l'<ref-law>, le juge de première instance a considéré que les parties ont fixé des délais d'exécution par contrat du 10 novembre 2004: elles y ont prévu la livraison d'un prototype (laquelle devait intervenir dans les 12 à 14 semaines dès le paiement de la première avance, qui a été versée le 16 novembre 2004), et une première livraison mensuelle de cinq mouvements trois mois après.
A la suite du remaniement du projet (après la Foire de Bâle de mars 2005), les parties n'ont pas modifié la planification de l'élaboration du prototype, ni celle de la livraison des 50 mouvements. Dans son offre du 10 juin 2005, qui a été acceptée par le maître de l'ouvrage, l'entrepreneur s'est déclaré prêt à effectuer la première livraison trois mois après son offre, moyennant un soutien financier adéquat, puis s'est déclaré prêt à livrer les premiers mouvements en état de marche dans un délai de moins d'un mois, sous réserve de la réception d'une avance complémentaire.
Appliquant les délais initiaux prévus dans le contrat, à compter de la dernière avance de 103'000 fr. intervenue le 22 novembre 2005 conformément à l'avenant du 15 novembre 2005, le premier juge a calculé que le prototype aurait dû être livré environ à fin février 2006 et que la livraison en série aurait dû en principe intervenir à partir de juin 2006.
Or, ce magistrat a constaté que le mouvement livré au mois de décembre 2005, ainsi que les quatre mouvements supplémentaires livrés le 15 mars 2006, étaient non fonctionnels et bien loin du produit fini. Il en a conclu que la défenderesse avait non seulement pris du retard dans le rythme d'exécution de sa prestation, mais qu'elle n'aurait pas été en mesure de livrer les cinq premiers mouvements fonctionnels en juin 2006. Il a donc retenu un retard dans l'exécution de l'ouvrage au sens de l'<ref-law>.
2.2. Estimant que le premier juge avait soigneusement examiné les conséquences des retards pris par le maître de l'ouvrage dans le paiement des avances et de la modification du projet, la cour cantonale a considéré que le premier juge avait correctement restitué la chronologie et les échéances, si bien qu'il n'y avait pas lieu d'y revenir. Répondant apparemment aux objections de l'entrepreneur appelant, elle a admis que la modification du projet n'a pas été imposée unilatéralement à l'entrepreneur, les parties en ayant discuté et l'entrepreneur ayant fait une offre modifiée le 10 juin 2005. Elle en a inféré que le retard n'est pas imputable au maître de l'ouvrage et que soit l'entrepreneur s'est engagé à la légère, soit il ne s'est pas organisé de manière à tenir son engagement. Elle a ainsi jugé que la conclusion du premier juge échappait à toute critique.
Examinant ensuite la question sous l'angle de l'<ref-law>, la cour cantonale a ajouté, s'appuyant sur l'avis des experts, que l'entrepreneur s'est trouvé dans l'incapacité de livrer à temps des mouvements fonctionnels, faute de moyens financiers pour assurer l'approvisionnement des composants nécessaires au produit (d'une part par sous-estimation des risques financiers, techniques et logistiques, d'autre part par manque de méthode et de ressources internes), et qu'il lui aurait fallu beaucoup plus de temps, au minimum un an, et des moyens financiers plus importants pour réaliser le produit.
Puis, examinant les griefs de l'appel, la cour cantonale a relevé que les parties ont signé un contrat, lequel stipulait que l'entrepreneur ne facturerait aucuns frais de développement et fixait le montant et les échéances des avances à payer par le maître de l'ouvrage. Les demandes d'avances supplémentaires étaient autant d'entorses à la convention des parties et l'entrepreneur ne saurait reprocher au maître de s'en être tenu à leur convention. Le contrat portait sur 50 mouvements et l'entrepreneur l'a conclu en connaissance de cause. Enfin, les experts ont retenu que, malgré la modification du projet, il aurait été possible de livrer un prototype dans la semaine du 19 au 25 septembre 2005, si le projet initial n'avait pas pris du retard et si l'entrepreneur avait pu y travailleur dès le retour de la Foire de Bâle.
Enfin, l'autorité cantonale a mis à la charge de l'entrepreneur le coût des habillages, dès lors que, selon l'expertise, ils sont spécifiques au modèle de montres que le maître de l'ouvrage comptait vendre muni du mouvement à tourbillon commandé à la défenderesse et qu'il n'est pas possible de les récupérer pour les utiliser avec un autre mouvement. Il s'agit d'un élément du dommage (<ref-law>).
2.3. Pour l'essentiel, le recourant soutient que le projet initial, qui avait fait l'objet du contrat du 10 novembre 2004, a été abandonné par le maître de l'ouvrage, qui a décidé de modifier fondamentalement son projet lors de la Foire de Bâle. Le maître de l'ouvrage n'aurait donc plus aucune prétention sur la base de ce contrat. Après le changement de projet, les parties sont entrées en discussion et c'est au regard de la négociation relative au nouveau prototype que la résolution du contrat devrait être examinée. Le recourant se réfère aux déclarations de D._, chef de projet du maître de l'ouvrage, pour lequel la modification n'était pas anodine et entraînait une modification du mouvement et des difficultés accrues, et à celles de l'expert, pour en déduire qu'une nouvelle relation juridique avait été établie. Selon lui, le premier projet a été abandonné, le maître de l'ouvrage lui a demandé de travailler sur un nouveau projet et les parties ont entamé des négociations; il a déployé une activité en relation avec ce nouveau projet, mais les parties ne se sont pas entendues sur les conditions - notamment financières - de réalisation de ce nouveau projet, le maître de l'ouvrage n'ayant pas répondu et ayant tergiversé alors que lui-même connaissait des difficultés. Il en attribue la faute au maître, qui ne pouvait pas lui demander de réaliser un nouveau prototype sans lui fixer clairement un délai de livraison et sans mettre à sa disposition des moyens financiers, le maigre acompte versé le 22 novembre 2005 n'étant pas suffisant, et en exigeant deux mois plus tard la livraison d'un prototype fonctionnel. Ce faisant, le maître de l'ouvrage ne serait pas de bonne foi et serait à l'origine de l'empêchement de livrer dans un délai convenable; ce dernier ne saurait invoquer sa propre turpitude, ni affirmer que la fixation d'un délai de grâce n'aurait pas permis de livrer dans un délai raisonnable. Le nouveau projet nécessitait de nouveaux plans et de nouveaux composants, ce qui entraînait des coûts supplémentaires, questions que la cour cantonale n'a pas examinées.
2.4. Pour déterminer s'il y a eu effectivement accord entre les parties et quel est le contenu de cet accord, le juge doit rechercher, dans un premier temps, la réelle et commune intention des parties (<ref-law>; interprétation subjective), le cas échéant empiriquement, sur la base d'indices (<ref-ruling> consid. 2.3.2, 626 consid. 3.1 p. 632; <ref-ruling> consid. 4.1). Constituent des indices en ce sens non seulement la teneur des déclarations de volonté - écrites ou orales -, mais encore le contexte général, soit toutes les circonstances permettant de découvrir la volonté des parties, qu'il s'agisse de déclarations antérieures à la conclusion du contrat ou de faits postérieurs à celle-ci, en particulier le comportement ultérieur des parties établissant quelles étaient à l'époque les conceptions des contractants eux-mêmes (<ref-ruling> consid. 1; <ref-ruling> consid. 4a p. 342 s.). L'appréciation de ces indices concrets par le juge, selon son expérience générale de la vie, relève du fait (<ref-ruling> consid. 1 p. 366 s.). Si sa recherche aboutit à un résultat positif, le juge parvient à la conclusion que les parties se sont comprises. Cette constatation lie le Tribunal fédéral (<ref-law>), à moins qu'elle ne soit manifestement inexacte (art. 97 al. 1 et 105 al. 2 LTF), c'est-à-dire arbitraire au sens de l'art. 9 Cst. Les constatations de l'arrêt cantonal quant au déroulement de la procédure, qu'il s'agisse des conclusions des parties, des faits allégués ou des explications juridiques données par elles, des déclarations faites en cours de procès, des réquisitions de preuves, voire du contenu d'un témoignage, ressortissent aussi au fait et lient le Tribunal fédéral (<ref-law>; <ref-ruling> consid. 1.3.1).
Ce n'est que si le juge ne parvient pas à déterminer la volonté réelle et commune des parties - parce que les preuves font défaut ou ne sont pas concluantes - ou s'il constate qu'une partie n'a pas compris la volonté exprimée par l'autre à l'époque de la conclusion du contrat (<ref-ruling> consid. 3.1 p. 286) - ce qui ne ressort pas déjà du simple fait qu'elle l'affirme en procédure, mais doit résulter de l'administration des preuves (arrêts 4A_619/2016 du 15 mars 2017 consid. 7.1; 4A_98/2016 du 22 août 2016 consid. 5.1 et les arrêts cités) -, qu'il doit recourir à l'interprétation normative (ou objective), à savoir rechercher leur volonté objective, en déterminant le sens que, d'après les règles de la bonne foi, chacune d'elles pouvait et devait raisonnablement prêter aux déclarations de volonté de l'autre (application du principe de la confiance; <ref-ruling> consid. 2.3.2 p. 274 s., 626 consid. 3.1 p. 632).
2.5. Dans son offre du 10 juin 2005, l'entrepreneur a proposé un prix unitaire de 26'000 fr. pour les 50 premiers mouvements et a accepté d'effectuer la livraison dès la semaine 38-2005, soit dans la semaine du 19 au 25 septembre 2005, contre versement d'une avance de 400'000 fr. Le 14 juin 2005, le maître de l'ouvrage a accepté le nouveau prix unitaire de 26'000 fr., mais ne s'est pas prononcé sur la demande d'avance de 400'000 fr. Le 5 octobre 2005, l'entrepreneur est revenu à la charge et a réclamé le paiement d'une avance de 225'000 fr., correspondant à une avance de 15'000 fr. par mouvement, dans la perspective de la livraison prochaine de 15 de ces mouvements. Le 31 octobre 2005, l'entrepreneur a demandé une avance de 103'000 fr. d'ici au 2 novembre 2005 pour une livraison de cinq mouvements pour le 21 novembre 2005, puis une seconde avance de 103'000 fr. d'ici au 28 novembre 2005 pour une deuxième livraison de cinq mouvements au 5 décembre 2005 et, en cas de versement d'une troisième avance de 103'000 fr. d'ici au 5 décembre 2005, a promis la livraison de cinq pièces au 12 décembre 2005. La suite des livraisons devait se faire par 5 à 10 pièces par mois, avec une avance de respectivement 103'000 fr. et 206'000 fr. (<ref-law>).
Par avenant du 15 novembre 2005, les parties sont convenues d'un supplément d'avance de 103'000 fr., ce qui, ajouté à l'avance déjà effectuée de 275'000 fr., représentait une avance totale de 378'000 fr. Il y a donc bien eu accord sur l'avance à effectuer à la suite de la dernière offre de l'entrepreneur.
Certes, les parties n'ont pas fixé de délai dans cet avenant du 15 novembre 2005. L'avance de 103'000 fr. correspondant à la proposition faite par l'entrepreneur le 31 octobre 2005 pour une première livraison de cinq mouvements dans les trois semaines à compter du paiement de l'avance, soit environ le 15 décembre vu le paiement de l'avance opéré le 22 novembre 2005, on ne peut pas considérer que la cour cantonale serait tombée dans l'arbitraire en admettant que l'entrepreneur n'a pas respecté les délais prévus lorsqu'il a livré un premier mouvement au mois de décembre 2005 et quatre mouvements le 15 mars 2006, tous non fonctionnels et bien loin du produit fini.
Il n'était pas arbitraire non plus de considérer que la fixation à l'entrepreneur d'un délai convenable pour s'exécuter était inutile, dès lors que, selon l'expert, il aurait fallu à l'entrepreneur beaucoup plus de temps (au minimum un an) et de moyens financiers.
La critique du recourant est essentiellement appellatoire. Il se limite en effet à de pures affirmations, sans aucune démonstration d'un quelconque arbitraire et, partant, ne satisfait pas aux exigences de l'<ref-law>.
Il s'ensuit que c'est à raison que la cour cantonale a retenu que l'<ref-law> était applicable et, partant, que le maître de l'ouvrage pouvait se départir du contrat et réclamer la restitution des avances versées. Sur ce point, le recours doit être rejeté dans la mesure où il est recevable.
3.
En ce qui concerne le montant de 74'629 fr. 45 correspondant au prix des habillages acquis par le maître de l'ouvrage pour les montres qui devaient être munies du mouvement commandé à la défenderesse, celle-ci admet dans son recours que le sort de cette prétention doit suivre celui des avances versées.
Le recours doit ainsi être rejeté également sur ce point.
4.
Au vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable. Les frais judiciaires et les dépens seront mis à la charge de la recourante (art. 66 al. 1, 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 8'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 9'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Neuchâtel, Cour d'appel civile.
Lausanne, le 30 mai 2017
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Ramelet