Sachverhalt:
A.
Der italienische Staatsangehörige A._ (geb. 1964) reiste 1990 in die Schweiz ein. 1992 heiratete er die italienische Staatsangehörige B._. Aus der Ehe sind die beiden Kinder C._ (geb. 1993) und D._ (geb. 2002) hervorgegangen. Am 26. April 2005 wurde die Ehe geschieden. A._ lebt weiterhin mit seiner Ex-Ehefrau und seinem Sohn in einem gemeinsamen Haushalt in U._.
Strafrechtlich ist A._ wie folgt in Erscheinung getreten:
- Bussenverfügung des Untersuchungsamtes Gossau SG vom 4. Februar 2004: Busse von Fr. 1'500.--, ausgesprochen wegen einfacher und mehrfacher grober Verletzung der Verkehrsregeln;
- Strafbefehl des Untersuchungsamtes Gossau SG vom 4. September 2012: Geldstrafe von 10 Tagessätzen zu je Fr. 50.--, Vollzug bedingt aufgeschoben bei einer Probezeit von zwei Jahren, sowie Busse von Fr. 750.--, ausgesprochen wegen mehrfacher einfacher Verletzung der Verkehrsregeln und Führen eines Motorfahrzeugs trotz Entzug des erforderlichen Ausweises;
- Strafbefehl des Untersuchungsamtes Gossau SG vom 6. August 2014: Busse von Fr. 400.--, ausgesprochen wegen einfacher Verletzung der Verkehrsregeln;
- Strafbefehl des Untersuchungsamtes Gossau SG vom 15. Juli 2015: Busse von Fr. 300.--, ausgesprochen wegen einfacher Verletzung der Verkehrsregeln;
- Urteil des Bezirksgerichts Münchwilen TG vom 29. September 2015: Freiheitsstrafe von 24 Monaten sowie Geldstrafe von 12 Tagessätzen zu je Fr. 60.--, Vollzug bedingt aufgeschoben bei einer Probezeit von drei Jahren, ausgesprochen wegen mehrfachen Verbrechens und Vergehens gegen das Bundesgesetz über die Betäubungsmittel und die psychotropen Stoffe (SR 812.121; BetmG), mehrfachen Fahrens ohne Berechtigung und Förderung des rechtswidrigen Aufenthalts;
- Strafbefehl des Untersuchungsamtes Gossau SG vom 22. Juni 2016: Busse von Fr. 200.--, ausgesprochen wegen mehrfachen Ungehorsams im Betreibungs- und Konkursverfahren.
Beim Betreibungsamt war A._ per 16. Juni 2016 mit offenen Betreibungen und Verlustscheinen in der Höhe von Fr. 43'910.05 verzeichnet.
B.
Am 10. August 2016 widerrief das Migrationsamt des Kantons St. Gallen die Niederlassungsbewilligung und wies A._ aus der Schweiz weg. Den dagegen erhobenen Rekurs wies das Sicherheits- und Justizdepartement des Kantons St. Gallen am 23. März 2017 ab. Das Verwaltungsgericht des Kantons St. Gallen bestätigte diesen Entscheid mit Urteil vom 26. April 2018.
C.
A._ gelangt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten und subsidiärer Verfassungsbeschwerde vom 1. Juni 2018 an das Bundesgericht. Er beantragt, das Urteil des Verwaltungsgerichts vom 26. April 2018 sei aufzuheben und vom Widerruf der Niederlassungsbewilligung sei abzusehen; stattdessen sei er ausländerrechtlich zu verwarnen. Eventualiter sei die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Subeventualiter sei ihm eine Frist von sechs Monaten ab Zustellung des bundesgerichtlichen Entscheids anzusetzen. Prozessual ersucht er um Erteilung der aufschiebenden Wirkung, Gewährung der unentgeltlichen Rechtspflege und Beiordnung einer amtlichen Rechtsbeiständin in Person seiner Rechtsvertreterin.
Das Verwaltungsgericht und das kantonale Sicherheits- und Justizdepartement beantragen Abweisung der Beschwerde. Das Staatssekretariat für Migration hat auf Vernehmlassung verzichtet.
Mit Präsidialverfügung vom 5. Juni 2018 wurde der Beschwerde antragsgemäss aufschiebende Wirkung zuerkannt.
Erwägungen:
1.
1.1. Gegen Entscheide über den Widerruf einer Niederlassungsbewilligung ist die Beschwerde in öffentlich-rechtlichen Angelegenheiten zulässig, weil grundsätzlich ein Anspruch auf das Fortbestehen dieser Bewilligung gegeben ist (BGE 135 II 1 E. 1.2.1 S. 4). Ob der Anspruch im konkreten Fall zu bejahen ist, bildet Gegenstand der materiellen Beurteilung (BGE 137 I 284 E. 1.3 S. 287). Soweit vorliegend beantragt wird, vom Widerruf der Niederlassungsbewilligung abzusehen, ist die Beschwerde daher zulässig (Art. 82 lit. a, Art. 86 Abs. 1 lit. d, Art. 90 BGG). Auf die Beschwerde in öffentlich-rechtlichen Angelegenheiten ist insoweit einzutreten, zumal auch die übrigen Sachurteilsvoraussetzungen (Art. 42, Art. 100 Abs. 1 und Art. 89 Abs. 1 BGG) erfüllt sind.
1.2. Der Beschwerdeführer stellt den Eventualantrag, seine Ausreisefrist neu auf sechs Monate ab Zustellung des bundesgerichtlichen Entscheids festzusetzen. Bei der Festsetzung der Ausreisefrist handelt es sich um eine Wegweisungsmodalität (Urteil 2C_876/2018 vom 5. Oktober 2018 E. 4). Gegen Entscheide betreffend die Wegweisung ist die Beschwerde in öffentlich-rechtlichen Angelegenheiten unzulässig (Art. 83 lit. c Ziff. 4 BGG); diesbezüglich stünde einzig die subsidiäre Verfassungsbeschwerde offen. Der Beschwerdeführer erhebt jedoch keine Rügen im Sinn von Art. 116 BGG (vgl. BGE 137 II 305 E. 3.3 S. 310; Urteil 2C_338/2017 vom 11. Juni 2018 E. 1.2). Die Eingabe kann insoweit auch nicht als Verfassungsbeschwerde entgegengenommen werden. Auf den Antrag um neue Festsetzung der Ausreisefrist ist daher nicht einzutreten.
2.
2.1. Mit der Beschwerde in öffentlich-rechtlichen Angelegenheiten kann eine Rechtsverletzung nach Art. 95 und Art. 96 BGG gerügt werden. Das Bundesgericht wendet das Recht von Amtes wegen an (Art. 106 Abs. 1 BGG). In Bezug auf die Verletzung von Grundrechten gilt eine qualifizierte Rüge- und Substanziierungspflicht (Art. 106 Abs. 2 BGG; BGE 139 I 229 E. 2.2 S. 232; 136 II 304 E. 2.5 S. 314).
2.2. Das Bundesgericht legt seinem Urteil den von der Vorinstanz festgestellten Sachverhalt zugrunde (Art. 105 Abs. 1 BGG). Es kann die Sachverhaltsfeststellung der Vorinstanz von Amtes wegen berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinn von Art. 95 BGG beruht (Art. 105 Abs. 2 BGG). "Offensichtlich unrichtig" bedeutet dabei "willkürlich" (BGE 140 III 115 E. 2).
Die beschwerdeführende Partei kann die Feststellung des Sachverhalts unter den gleichen Voraussetzungen beanstanden, wenn die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (Art. 97 Abs. 1 BGG). Eine entsprechende Rüge ist substanziiert vorzubringen; auf rein appellatorische Kritik an der Sachverhaltsfeststellung geht das Bundesgericht nicht ein (BGE 139 II 404 E. 10.1 S. 445 f.).
3.
3.1. Die Vorinstanz geht ohne nähere Begründung von der Anwendbarkeit des Abkommens vom 21. Juni 1999 zwischen der Schweizerischen Eidgenossenschaft einerseits und der Europäischen Gemeinschaft und ihren Mitgliedstaaten andererseits über die Freizügigkeit (Freizügigkeitsabkommen, FZA; SR 0.142.112.681) aus. Sie impliziert damit, dass dem Beschwerdeführer die Arbeitnehmereigenschaft im Sinne von Art. 4 FZA i.V.m. Art. 6 Ziff. 1 Anhang I FZA zukommt. Im Lichte der Rechtsprechung (BGE 141 II 1 E. 4.1 S. 11) ist dies trotz der medizinisch bedingten Arbeitslosigkeit des Beschwerdeführers zum Zeitpunkt des vorinstanzlichen Urteils wohl zutreffend. Mit Blick auf die nachfolgenden Erwägungen ist die Frage für den Ausgang des vorliegenden Verfahrens allerdings nicht entscheidend und braucht an dieser Stelle nicht vertieft zu werden.
3.2. Auch im Anwendungsbereich des FZA kann die Niederlassungsbewilligung widerrufen werden, wenn der Ausländer zu einer längerfristigen Freiheitsstrafe, d.h. zu einer solchen von mehr als einem Jahr (BGE 139 I 145 E. 2.1 S. 147), verurteilt worden ist (Art. 2 Abs. 2 i.V.m. Art. 63 Abs. 1 lit. a und Art. 62 lit. b AIG [SR 142.20]; vgl. ferner Art. 23 und 24 der Verordnung vom 22. Mai 2002 über die Einführung des freien Personenverkehrs [VEP; SR 142.203] und dazu BGE 139 II 393 E. 2.1 S. 395 und Urteil 2C_634/2018 vom 5. Februar 2019 E. 4.1.2). Der Widerrufsgrund kommt selbst dann zum Tragen, wenn sich ein Ausländer - wie der Beschwerdeführer - seit mehr als 15 Jahren ununterbrochen und ordnungsgemäss in der Schweiz aufhält (Art. 63 Abs. 2 AIG).
Vorliegend wird in der Beschwerde zu Recht nicht bestritten, dass der Beschwerdeführer aufgrund des rechtskräftigen Strafurteils des Bezirksgerichts Münchwilen TG vom 29. September 2015 (Verurteilung zu einer Freiheitsstrafe von 24 Monaten und einer Geldstrafe von 12 Tagessätzen) den Widerrufsgrund nach Art. 63 Abs. 1 lit. a AIG i.V.m. Art. 62 lit. b AIG (BGE 139 I 31 E. 2.1 S. 36) gesetzt hat. Auch wenn sich das Urteil vom 29. September 2015 der Hauptsache nach auf Straftaten bezieht, die in den Jahren 2009 und 2010 begangen worden sind, ist die erforderliche Aktualität der strafrechtlichen Verurteilung (vgl. Urteil 2C_884/2016 vom 25. August 2017 E. 2.2, mit Hinweisen) angesichts des ausländerrechtlich erstinstanzlichen Entscheids im August 2016 klarerweise gegeben.
Unter Anrufung von Art. 96 AIG, Art. 5 Abs. 1 (recte: Abs. 2) BV und Art. 8 EMRK rügt der Beschwerdeführer aber die Erwägung der Vorinstanz, dass der Widerruf verhältnismässig sei (vgl. dazu nachfolgend E. 4); überdies vertritt er die Auffassung, dass Art. 5 Anhang I FZA der Anordnung einer Fernhaltemassnahme entgegenstehe (vgl. dazu nachfolgend E. 5).
4.
4.1. Der Beschwerdeführer ist Vater eines in der Schweiz geborenen und hier niederlassungsberechtigten minderjährigen Sohnes. Nach den Feststellungen der Vorinstanz lebt er mit diesem Sohn und der Ex-Frau in einem gemeinsamen Haushalt. Der Widerruf der Niederlassungsbewilligung und die damit verbundene Wegweisung des Beschwerdeführers sind geeignet, zu einer Trennung der Familiengemeinschaft zwischen dem Beschwerdeführer und seinem Sohn zu führen; der Widerruf greift insofern in den Anspruch auf Achtung des Familienlebens (Art. 8 Ziff. 1 EMRK, Art. 13 Abs. 1 BV) ein (BGE 144 II 1 E. 6.1; 139 I 330 E. 2.1 S. 335 f.; 135 I 153 E. 2.1 S. 154 f.). Tangiert ist mit Blick auf die knapp 30-jährige Anwesenheit des Beschwerdeführers in der Schweiz darüber hinausgehend auch der Anspruch auf Achtung des Privatlebens (Art. 8 Ziff. 1 EMRK, Art. 13 Abs. 1 BV; BGE 144 I 266 E. 3.9 S. 277 ff.).
4.2. Art. 8 Ziff. 2 EMRK setzt für die Rechtfertigung eines Eingriffs in Art. 8 Ziff. 1 EMRK eine gesetzliche Grundlage voraus; erforderlich ist zudem, dass der Eingriff in einer demokratischen Gesellschaft notwendig ist für die nationale oder öffentliche Sicherheit, für das wirtschaftliche Wohl des Landes, zur Aufrechterhaltung der Ordnung, zur Verhütung von Straftaten, zum Schutz der Gesundheit oder der Moral oder zum Schutz der Rechte und Freiheiten anderer.
Nichts anderes ergibt sich inhaltlich aus den anwendbaren Vorschriften des nationalen Rechts (Art. 5 Abs. 1 und 2 BV, Art. 13 Abs. 1 BV in Verbindung mit Art. 36 Abs. 1 und 2 BV sowie Art. 96 AIG; vgl. BGE 139 I 16 E. 2.2.1 S. 19, E. 2.2.2 S. 20; 139 I 31 E. 2.3.1 S. 33, E. 2.3.3 S. 34 f.).
4.3. Das Erfordernis der gesetzlichen Grundlage gibt vorliegend nicht zu Bemerkungen Anlass. Im Rahmen der Verhältnismässigkeitsprüfung zu berücksichtigen sind nach der Praxis des Bundesgerichts namentlich die Schwere des Verschuldens, der Grad der Integration sowie die mit der Fernhaltemassnahme verbundenen Nachteile (BGE 139 I 31 E. 2.3.1 S. 33; 139 I 16 E. 2.2.1 S. 19; 135 II 377 E. 4.3 S. 381). Je länger eine ausländische Person in der Schweiz anwesend war, desto höher sind die Anforderungen zur Annahme der Rechtmässigkeit der ausländerrechtlichen Fernhaltemassnahme.
Die Niederlassungsbewilligung einer ausländischen Person, die sich schon seit langer Zeit in der Schweiz aufhält, soll nur mit besonderer Zurückhaltung widerrufen werden; allerdings ist ein Widerruf bei wiederholter bzw. schwerer Straffälligkeit selbst dann nicht ausgeschlossen, wenn sie hier geboren ist und ihr ganzes bisheriges Leben im Land verbracht hat (BGE 139 I 31 E. 2.3.1 S. 33 f.; 135 II 377 E. 4.3 S. 381; Urteile 2C_819/2013 vom 24. Januar 2014 E. 3.3; 2C_740/2013 vom 10. Januar 2014 E. 3.2).
4.4. Ausgangspunkt und Massstab für die migrationsrechtliche Interessenabwägung ist die Schwere des Verschuldens, die sich aus der Dauer der verfahrensauslösenden Freiheitsstrafe ergibt (BGE 129 II 215 E. 3.1 S. 216; 134 II 10 E. 4.2 S. 23; Urteil 2C_1076/2013 vom 2. Juni 2014 E. 4.1). Für das migrationsrechtliche Verschulden ist allerdings nicht nur das für die Anlasstat verhängte Strafmass ausschlaggebend, sondern die Gesamtbetrachtung des deliktischen Verhaltens bis zum angefochtenen Urteil (vgl. Urteil 2C_1046/2014 vom 5. November 2015 E. 4.1).
4.5. Der Beschwerdeführer beanstandet, die Vorinstanz sei bei der Gewichtung der öffentlichen Fernhalteinteressen zu Unrecht von einem erheblichen Verschulden ausgegangen. Indem sie angesichts des Fehlens eines begründeten Strafurteils einseitig auf die Anklageschrift abgestellt habe, seien wesentliche Tatsachen unberücksichtigt geblieben. Die Staatsanwaltschaft habe ihm den Kauf von 350 g Kokain vorgeworfen. Diesen Kauf habe das Bezirksgericht als nicht bewiesen angesehen. Stattdessen sei es von einem Kauf von 152 g Kokain ausgegangen. Auch in der Strafzumessung sei das Bezirksgericht erheblich vom Antrag der Staatsanwaltschaft abgewichen und habe lediglich eine bedingte Freiheitsstrafe ausgefällt. Zu berücksichtigen sei überdies, dass ein verdeckter Ermittler ihn "gezeukelt" habe und sich das Verfahren aufgrund von Ermittlungen gegen weitere Personen um mehrere Jahre verzögert habe.
Diese Einwände verfangen schon deshalb nicht, weil sie bei der Strafzumessung im Strafverfahren zu berücksichtigen waren (Art. 47 Abs. 1 und 2, Art. 48 lit. b und e StGB). Das migrationsrechtliche Verfahren knüpft an die im Strafprozess ausgesprochene Strafe erst an; eine Überprüfung der Rechtmässigkeit der dort ausgefällten Strafe fällt grundsätzlich ausser Betracht (Urteil 2C_939/2017 vom 21. Dezember 2018 E. 5.2). Der Vorinstanz kann vor diesem Hintergrund nicht zum Vorwurf gemacht werden, Tatsachen, die strafrechtlich zu einer Milderung der ausgesprochenen Sanktion geführt haben, im migrationsrechtlichen Verfahren nicht erneut erhoben zu haben.
Was das migrationsrechtliche Verschulden angeht, entspricht es der bundesgerichtlichen Rechtsprechung, bei einer für Drogendelikte ausgesprochenen Strafe von 24 Monaten von einem erheblichen migrationsrechtlichen Verschulden auszugehen (vgl. für einen kürzlich entschiedenen, im Ausgangspunkt vergleichbaren Fall Urteil 2C_939/2017 vom 21. Dezember 2018 E. 6.4). Die vorinstanzliche Feststellung, der Beschwerdeführer habe die Drogendelikte in erster Linie aus finanziellen Motiven begangen, bleibt in der Beschwerde zu Recht unbeanstandet. Sowohl nach der Rechtsprechung des Bundesgerichts als auch derjenigen des EGMR ist daher von einer schweren Straftat auszugehen (BGE 139 I 31 E. 2.3.2 S. 34 f.).
Hinzu kommt, dass der Beschwerdeführer wiederholt straffällig geworden ist. Auch wenn die begangenen Straftaten - abgesehen von den Drogendelikten in den Jahren 2009 und 2010 - nicht besonders schwer wiegen, zeugen sie in ihrer Regelmässigkeit doch von einer andauernden Gleichgültigkeit gegenüber der hiesigen Rechtsordnung und indizieren eine erhebliche Gefahr, dass der Beschwerdeführer erneut delinquieren wird. Weil ein normkonformes Verhalten grundsätzlich vorausgesetzt werden kann, vermag das Argument des Beschwerdeführers, er sei auf die migrationsrechtlichen Folgen seines Verhaltens nicht hingewiesen worden und habe seit der Eröffnung des migrationsrechtlichen Widerrufsverfahrens nicht erneut delinquiert, nicht zu überzeugen. Insgesamt besteht ein hohes öffentliches Interesse daran, seine Anwesenheit in der Schweiz zu beenden. Dieses hohe Fernhaltungsinteresse könnte nur durch entsprechend gewichtige private Interessen aufgewogen werden.
4.6. Bezüglich der privaten Interessen an einem Verbleib in der Schweiz hat die Vorinstanz erwogen, der Beschwerdeführer lebe seit vielen Jahren in der Schweiz und betrachte sein Heimatland mittlerweile als Feriendestination. Wirtschaftlich sei er nicht sonderlich integriert. Die offenen Betreibungen und Verlustscheine stammten aus den Jahren 2011 und 2016 und könnten damit nicht seiner Schulterverletzung zugeschrieben werden. Auch in gesellschaftlicher Hinsicht sei eine besondere Integration nicht erstellt. Ein gewichtiges Interesse an einem Verbleib in der Schweiz ergebe sich zwar aus der Beziehung zu seinen Kindern, namentlich zu seinem (noch) minderjährigen Sohn, mit dem er in einem Haushalt wohne. Die Intensität der Beziehung zu diesem Sohn scheine jedoch nicht über das übliche Mass hinauszugehen. Die Beziehung könne überdies auch vom Ausland aus gepflegt werden: Gerade im Fall von Italien seien aufgrund der geringen räumlichen Distanz regelmässige persönliche Kontakte ohne weiteres möglich; für die Aufrechterhaltung der Beziehung könnten ausserdem moderne Kommunikationsmittel genutzt werden. Die Ausreise nach Italien sei dem Beschwerdeführer schliesslich zumutbar. Er spreche gut Italienisch, habe in Italien seine prägenden Schul- und Jugendjahre verbracht, und sei wiederholt für Ferienaufenthalte dorthin zurückgekehrt. Insgesamt überwiege daher das öffentliche Fernhalteinteresse die privaten Interessen an einem weiteren Verbleib in der Schweiz.
Diese Gewichtung erscheint überzeugend. Was der Beschwerdeführer dagegen einwendet, erschöpft sich weitestgehend in appellatorischer Kritik an der vorinstanzlichen Sachverhaltsfeststellung.
Zwar liegt auf der Hand, dass die Wegweisung für den Beschwerdeführer nach seinem fast 30-jährigen Aufenthalt in der Schweiz mit Härten verbunden sein wird. Zu Recht verweist die Vorinstanz jedoch auf seine kulturelle und sprachliche Verankerung in Italien. Die Vorinstanz durfte willkürfrei davon ausgehen, dass er in der Schweiz weder wirtschaftlich noch sozial besonders integriert sei. Dem Umstand, dass er auch in Italien Mühe haben dürfte, beruflich wieder Fuss zu fassen, kann daher keine entscheidende Bedeutung zukommen. Auch die Vorinstanz hat der Beziehung des Beschwerdeführers zu seinem kurz vor der Volljährigkeit stehenden Sohn bei der Interessenabwägung erhebliches Gewicht zugemessen. Es ist nicht von der Hand zu weisen, dass die Anwesenheit eines Vaters für die Entwicklung seines Sohnes von grosser Bedeutung ist. Das Argument des Beschwerdeführers, er könne die Beziehung zu seinem Sohn nach Vollzug der Wegweisung nicht mehr aufrechterhalten, verfängt jedoch auch angesichts der baldigen Volljährigkeit des Sohnes, seiner damit einhergehenden Selbständigkeit sowie der zahlreichen Möglichkeiten für die Aufrechterhaltung des Kontakts nicht (vgl. zu einer vergleichbaren Konstellation 2C_388/2015 vom 26. Februar 2016 E. 5.1). Insoweit ist davon auszugehen, dass der Beschwerdeführer seiner Vaterfunktion - wenn auch in modifizierter Weise - auch von Italien aus gerecht werden kann. Soweit sich der Beschwerdeführer schliesslich auf medizinische Gründe beruft, legt er nicht hinreichend dar, dass und warum er sich einer allenfalls notwendigen Fersenoperation nicht auch in Italien unterziehen könnte.
Der Widerruf der Niederlassungsbewilligung erscheint damit bei Abwägung aller Umstände des Einzelfalls als verhältnismässig.
5.
5.1. Aufgrund der Anwendbarkeit des FZA (vgl. oben, E. 3.1) bleibt zu prüfen, ob und inwiefern sich daraus zusätzliche Schranken ergeben (Urteile 2C_236/2013 vom 19. August 2013 E. 4; 2C_221/2012 vom 19. Juni 2012 E. 3.2 mit Hinweis auf BGE 130 II 176 E. 3.2 S. 181).
Nach der Praxis des Bundesgerichts zu Art. 5 Anhang I FZA setzen Entfernungs- oder Fernhaltemassnahmen eine hinreichend schwere und gegenwärtige Gefährdung der öffentlichen Ordnung durch den betreffenden Ausländer voraus. Eine strafrechtliche Verurteilung erfüllt dieses Kriterium, wenn die betreffende Person mit der begangenen Tat ein persönliches Verhalten zeigt, das eine künftige Gefährdung als wahrscheinlich erscheinen lässt (Art. 3 Abs. 1 der Richtlinie 64/221/EWG in Verbindung mit Art. 5 Abs. 2 Anhang I FZA). Hingegen steht Art. 5 Anhang I FZA Massnahmen entgegen, die (allein) aus generalpräventiven Gründen verfügt werden (BGE 136 II 5 E. 4.2 S. 20; 130 II 176 E. 3.4.1 S. 183; 129 II 215 E. 7.1 S. 221 f.; Urteil 2C_194/2014 vom 25. November 2014 E. 2.2; 2C_407/2013 vom 15. November 2013 E. 3.2).
5.2. Vorab ist festzuhalten, dass der Handel mit Betäubungsmitteln praxisgemäss eine schwere Gefährdung der öffentlichen Ordnung und Gesundheit im Sinn von Art. 5 Anhang I FZA darstellt. Angesichts der grossen sozialen und wirtschaftlichen Gefahr, welche von der Drogensucht für die Menschheit ausgeht, können Betäubungsmitteldelikte eine Wegweisung auch im Bereich der Freizügigkeit rechtfertigen (vgl. Urteil 2C_793/2015 vom 29. März 2016 E. 6.2; ferner BGE 139 II 121 E. 6.3 S. 130 f. und Urteil des EuGH vom 29. April 2004 C-482/01 und C-493/01 Orfanopoulos und Oliveri Randnr. 67).
Der Beschwerdeführer hat sich nach den Feststellungen der Vorinstanz des Verbrechens gegen das BetmG und damit einer qualifizierten Form der Betäubungsmitteldelinquenz schuldig gemacht. Zur Anwendung gelangt ist namentlich Art. 19 Abs. 2 lit. a BetmG, der tatbestandsmässig voraussetzt, dass der Täter "weiss oder annehmen muss, dass die Widerhandlung mittelbar oder unmittelbar die Gesundheit vieler Menschen in Gefahr bringen kann". Zu berücksichtigen ist in diesem Zusammenhang, dass keine einmalige Verfehlung, sondern ein über zwei Jahre hinweg vorwiegend aus finanziellen Motiven betriebener Drogenhandel in Frage steht. Allein mit seinen Drogendelikten hat der Beschwerdeführer damit eine hohe Gefahr für die öffentliche Gesundheit geschaffen.
5.3. Ins Gewicht fällt davon abgesehen auch das lange Vorstrafenregister des Beschwerdeführers, das - entgegen der in der Beschwerde geäusserten Auffassung - keineswegs auf eine günstige Legalprognose schliessen lässt. Zwar geht aus dem angefochtenen Urteil hervor, dass sich der Beschwerdeführer während des laufenden ausländerrechtlichen Verfahrens abgesehen von einer Verurteilung wegen mehrfachen Ungehorsams im Betreibungs- und Konkursverfahren scheinbar wohlverhalten hat. Bis dahin ist er jedoch während einer Zeitspanne von mehr als zehn Jahren immer wieder und in gesteigerter Häufigkeit strafrechtlich belangt worden. Damit hat er eine andauernde Gleichgültigkeit gegenüber der hiesigen Rechtsordnung zum Ausdruck gebracht, weshalb von einer erheblichen Rückfallgefahr auszugehen ist (vgl. schon oben, E. 4.5).
Auch unter Ausklammerung der mit dem Urteil des Bezirksgericht Münchwilen abgeurteilten Straftaten handelt es sich zudem entgegen der Auffassung des Beschwerdeführers keineswegs ausschliesslich um Bagatelldelikte. So ist die Verurteilung vom 4. Februar 2004 beispielsweise darauf zurückzuführen, dass der Beschwerdeführer auf der Autobahn bei einer Fahrgeschwindigkeit von durchschnittlich 144 km/h wiederholt einen Fahrabstand von fünf Metern unterschritten hat. Auch damit hat er eine erhebliche abstrakte Gefahr für die öffentliche Gesundheit geschaffen. Von einem Bagatelldelikt kann insoweit - entgegen der Auffassung des Beschwerdeführers - keine Rede sein.
5.4. Bei einer Gesamtbetrachtung erscheint eine künftige Gefährdung der öffentlichen Ordnung als wahrscheinlich. Es ist daher mit Art. 5 Anhang I FZA zu vereinbaren, die Niederlassungsbewilligung des Beschwerdeführers zu widerrufen.
6.
Nach dem Gesagten erweist sich die Beschwerde in öffentlich-rechtlichen Angelegenheiten als unbegründet und ist abzuweisen.
Bei diesem Ausgang des Verfahrens wird der unterliegende Beschwerdeführer kostenpflichtig (Art. 66 Abs. 1 BGG). Er hat ein Gesuch um unentgeltliche Rechtspflege und Verbeiständung gestellt (Art. 64 BGG). Dieses ist begründet, da der Beschwerdeführer bedürftig ist und die gestellten Rechtsbegehren nicht als aussichtslos bezeichnet werden können. Eine Parteientschädigung ist nicht geschuldet (Art. 68 Abs. 3 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde in öffentlich-rechtlichen Angelegenheiten wird abgewiesen.
2.
Auf die subsidiäre Verfassungsbeschwerde wird nicht eingetreten.
3.
Das Gesuch um unentgeltliche Rechtspflege für das bundesgerichtliche Verfahren wird gutgeheissen. Es werden keine Gerichtskosten erhoben. Dem Beschwerdeführer wird Rechtsanwältin Nicole Schneider als unentgeltliche Rechtsbeiständin beigegeben. Ihr wird aus der Bundesgerichtskasse eine Entschädigung von Fr. 2'000.-- ausgerichtet.
4.
Dieses Urteil wird den Verfahrensbeteiligten, dem Verwaltungsgericht des Kantons St. Gallen, Abteilung II, und dem Staatssekretariat für Migration schriftlich mitgeteilt.
Lausanne, 23. April 2019
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Seiler
Der Gerichtsschreiber: Brunner