Skyrmion-based artificial synapses for neuromorphic computing