Skein and cluster algebras of marked surfaces