The legislature shall provide for the organization of cities and towns by general laws and shall restrict their power of taxation, assessment, borrowing money, contracting debts and loaning their credit, except for procuring supplies of water; provided, however, that the legislature may, by general laws, in the manner and to the extent therein provided, permit and authorize the electors of any city or town to frame, adopt and amend a charter for its own government, or to amend any existing charter of such city or town.