I am not sure what are you trying to do. If all you need is to add your control (statically) to your page here is how you do it:
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc" TagName="Spinner" Src="~\Controls\Spinner.ascx" %>
<html>
<body>
<form runat="server">
<uc:Spinner id="Spinner1"
runat="server"
MinValue="1"
MaxValue="10" />
</form>
</body>
Once you have that, in the code behind you can locate the control by ID, cast it to your type, and then do whatever. BTW, the MinValue and MaxValue are properties defined on your control implementation.
Now, if you want to dynamically create a control instance on the fly, you need to use the LoadControl method of your page. This method returns an instance of your control, but to do anything to it you need to add it to the control collection of the page, like this:
page.Controls.Add(mycontrol)
.
You can do this anywhere in the page lifecycle before the OnRender event. Just keep in mind that once you do that the control will start playing catch-up - it will be pushed through all the page lifecycle events it missed. Also keep in mind that if the page is posted back, you need to ensure that the control is in place exactly as it was by the time the viewstate is processed.
As a side note I think that doing this sort of work server side is a little outdated. You will be better off doing something with JQuery and the likes